0
Codeigniterの組み込みフォーム検証ライブラリを使用して電子メール入力フィールドを検証しました。Codeigniterフォームの検証がカスタムコールバック関数と見なされない
これは私の検証ルールである:私はespected道を働いている検証ルールのすべての上に使用している場合
$this->form_validation->set_rules('email', '<b>email</b>', 'trim|htmlspecialchars|required|valid_email');
。例えば
:それは示し
- 入力フィールド空の場合:メールが必要です。
- ユーザーが有効な電子メールを入力しなかった場合、電子メールが無効であることが示されます。
次に、コールバック関数を追加してカスタムフォーム検証ルールを追加しました。
これは私の修正、検証ルールです:
$this->form_validation->set_rules('email', '<b>email</b>', 'trim|htmlspecialchars|required|valid_email|callback_mail_check');
そして、これは私のコールバック関数です:
今public function mail_check() {
if (!$this->users_model->get_user_by_email_address($this->input->post('email', TRUE))) {
$this->form_validation->set_message('mail_check', 'Your <b>email</b> could not be found.');
return FALSE;
} else {
return TRUE;
}
}
私は電子メールのフィールドを充填せずにフォームを送信するか、無効な電子メールを送信する際に、その常にカスタムコールバック関数の検証メッセージを出力しました(電子メールが見つかりませんでした)。
しかし、それは私が望んでいた方法ではありません。
まず、空の値の電子メールフィールドを検証し、その後有効な電子メールのためにそのコールバック関数を検証したいと考えています。