私のKohanaビューファイルは次のようになります:
<?=Form::open('/signup/user');?>
<?=Form::label('username', 'Username: ')?>
<?=Form::input('username', isset($username)?$username:''); ?>
<br />
<?=Form::label('password', 'Password: ')?>
<?=Form::password('password', ''); ?>
<br />
<?=Form::label('confirm', 'Re-enter Password: ')?>
<?=Form::password('confirm', ''); ?>
<br />
<?=Form::label('email', 'Email: ')?>
<?=Form::input('email', ''); ?>
<?=Form::submit('submit', "Submit"); ?>
<?=Form::close()?>
そして私のコントローラー:
public function action_user(){
if($this->request->method() == "POST"){
$this->template->set('username', $this->request->post('username'));
$user = ORM::factory('user');
try{
$user->values($_POST)->save();
}catch(ORM_Validation_Exception $e){
var_dump($e->errors());
}
}
}
問題は、後者が空のパスワードまたはパスワードが一致しないフォームを受け入れ、それをデータベースに書き込むことです。ユーザー名とメール フィールドの検証は正常に機能しますが、パスワード フィールドを検証する方法がわかりません。