どのフォームフィールドにも依存しない検証ルールを作成したいと思います。 Codeigniterでは可能ですか?私がドキュメントで見る限り、set_rulesメソッドは最初のパラメータとしてフォームフィールド名を必要とします。Codeigniter - 任意のフィールドとは無関係の匿名検証ルール
はそうであっても、私は
$this->form_validation->set_rules('products_count', 'products_count', 'callback_products_count_check');
を試み、これは
function products_count_check()
{
$user = $this->user_model->get(array(
'id' => $this->session->userdata('user_id')
));
if (! empty($user))
{
$kit = $this->kit_model->get(array('id' => $user->kit_id));
if (! empty($kit)) {
$products_count = $this->product_model->get(array('user_id' => $user->id, 'count' => TRUE));
if ($products_count >= $kit->max_products) {
$this->form_validation->set_message('products_count_check', lang('products.max_products_reached'));
return FALSE;
}
}
}
return TRUE;
}
関数がfalseを返すコールバックチェックであるが、エラーメッセージが表示されていません。
アイデア?
ありがとうございます。
ありがとうございますが、フォーム検証メッセージを表示する関数にエラーがありました。実際、パラメータとしてフィールドが渡されない場合でも、フォームの検証は機能します。 – cili
フォームを検証していない場合は....なぜフォーム検証を使用していますか? – jondavidjohn
私は午前。私が意味することは、最初のパラメータがフィールド名でなくても "set_rules"関数が機能するということです。私はちょうど私がこの最後のルールを押すのを忘れたすべての私の検証ルールを含む配列をループする関数を持っています。 – cili