0

こんにちは、codeigniter フォーム検証を使用しています。priceフィールドにカスタム フォーム検証を追加したいと考えています。

私はこれを試しています

コントローラーで

$this->ci->form_validation->set_rules ( 'price', 'Price', 'callback_test' ); 

そして私には機能があります

private function test()
{
    echo "hello"; die ;
}

ここにカスタム コールバック URL を追加しようとしてtestいます。しかし、機能していません

私はこの例を試しています

http://codeigniter.com/user_guide/libraries/form_validation.html#callbacks

しかし、私はこれが好きで、検証は機能します

$this->ci->form_validation->set_rules ( 'price', 'Price', 'required' );

コールバック URL 関数が機能しないのはなぜですか。私を助けてください 。ありがとう..............

4

1 に答える 1

3

カスタム コールバック関数が正しく機能するには、TRUE または FALSE を返す必要があります。また、die()ステートメントを入れても、ここではあまり役に立ちません...

これは簡単なコード例ですが、画像が得られることを願っています:

$this->form_validation->set_rules ( 'price', 'Price', 'required|callback_test' );

function test($string)
{
   return ($string == 'something') ? TRUE : FALSE;
}

$stringinput->post からの値で、コールバック関数に自動的に渡されます。また、このコールバックにエラー メッセージを指定する必要があります。そうしないと、「カスタム フィールドにエラー メッセージが提供されていません」などのエラーが表示されます。

$this->form_validation->set_message('test', 'The value you provided is not in the right format');
于 2011-10-18T08:10:33.457 に答える