FuelPHP フレームワークでフォームを検証したいときに問題が発生しました
これはコントローラーの私のコードです
/*
* for getting request param for client and save to database
*/
public function action_input(){
$data = array();
//checking method from client
if(Input::method() == 'POST'){
$val = Validation::forge();
$val->add('name','Name')
->add_rule('required');
$val->add('age','Age')
->add_rule('required');
$val->add('alamat','Alamat')
->add_rule('required');
$val->add('email', 'Email address')->add_rule('match_value', 'msofyancs@gmail.com', true)->add_rule('valid_email');
if($val->run()){
$data['name'] = Input::post('name');
$data['body'] = Input::post('age');
$data['alamat'] = Input::post('alamat');
$data['email'] = Input::post('email');
}else{
$data['error'] = $val->errors('name')->get_message('The field :label must be filled out before auth is attempted.');
}
return View::forge('testing/result', $data);
}
}
検証がtrue(すべてのフィールドが正しい)で入力されている場合、それは問題ではありませんが、フィールドが正しくない場合、次のようなエラーが発生します
ErrorException [ Error ]: Call to undefined method Fuel\Core\Validation::errors()
このコードを指しているデバッガー
$data['error'] = $val->errors('name')->get_message('The field :label must be filled out before auth is attempted.');
何が起こったのかわかりませんが、ステートメントの先頭で $val をまだ宣言していますが、エラーは未定義です。誰か知っていますか?
私はfuelPHPフレームワークが初めてです。おそらく、fuelphpフレームワークでフォームをより適切に検証する方法を提案してください...あなたの答えに感謝します。