0

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フレームワークでフォームをより適切に検証する方法を提案してください...あなたの答えに感謝します。

4

1 に答える 1

2

マニュアルから:

// get an array of validation errors as field => error pairs
$errors = $val->error();
于 2012-05-31T09:09:28.957 に答える