14

CodeIgniter フォームでカスタム エラー メッセージを作成したいと考えています。使ってみました

$this->form_validation->set_message('is_unique[users.username]', 'The username is already taken');

しかし、私はそれを機能させることができません。

ファイルを編集するform_validation_lang.phpだけでは十分ではありませんis_uniqueユーザー名はユーザー名として既に使用されており、電子メールはメールとして既に登録されています。

このカスタム エラー メッセージを作成するにはどうすればよいですか?

これが私のコードのスニペットです:

$this->form_validation->set_message('is_unique[users.username]', 'The username is already taken');

// Check if username has changed
if ($this->input->post('username') !== $user->username) {
    $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[4]|max_length[20]|is_unique[users.username]');
}
4

7 に答える 7

2

これは私のために働いた

$this->form_validation->set_message('is_unique', 'The username is already taken');
于 2013-04-19T07:57:27.953 に答える
2

次のように使用することをお勧めします。

$this->form_validation->set_message('is_unique', 'The %s is already taken');

form_validation%sは、フィールドに設定されたラベルで変わります。

お役に立てれば!

于 2014-04-30T16:52:39.220 に答える
0

validation_errors()を使用して検証を確認した後、カスタムメッセージを文字列に追加できます$this->form_validation->run() == true

if(YOUR_CONDITION){
   $this->form_validation->run();
   $err = validation_errors();
   $err = $err. '<p>Custom validation error message</p>'. PHP_EOL;
   $data['err'] = $err;
   $this->load->view('viewname', $data);
}
else if ($this->form_validation->run() == true ) {
        #code...
}
else..

カスタム メッセージを$err変数に設定した後、ビューに出力します。

于 2017-12-26T10:21:02.797 に答える