2

codeigniter では、多くのコントローラーで codeigniter フォーム検証ライブラリを使用しましたが、

元: -

$this->form_validation->set_rules('ランク', 'ランク', '必須');

フォームの検証に失敗した場合は、表示されます

         "The Rank field is required."

ここでカスタムメッセージを表示したいのですが、従うことができる1つの方法は

$this->form_validation->set_message('required', '%s は空白にできません');

このメソッドを使用する場合、「必要な」フォーム検証メソッドを使用しているすべてのコントローラーでこのコードを繰り返す必要があります

私の質問は、構成ファイルでこのカスタム メッセージを宣言し、フォーム検証ルール「必須」を使用するたびにこのカスタム メッセージを自動的に使用する方法はありますか?

4

3 に答える 3

4

エラーメッセージを永続的に上書きしたい場合は、それをform_validation_lang.phpファイルにハードコードするだけです。
( system/language/englishにあります)

カスタムの必須関数を追加して form_validation クラスを拡張し、適切なエラー メッセージを lang ファイルに追加するという選択肢が必要な場合。

例えば;

class MY_Form_validation {
    public function custom_required($str) {
        if ( ! is_array($str)) {
            return (trim($str) == '') ? FALSE : TRUE;
        } else {
            return ( ! empty($str));
        }
    }
}

次に、lang ファイルで。

$lang['custom_required'] = "%s can not be blank.";
于 2012-09-18T08:37:10.963 に答える
2

CI ドキュメント自体から:

「すべてのネイティブ エラー メッセージは次の言語ファイルにあります: language/english/form_validation_lang.php

独自のカスタム メッセージを設定するには、そのファイルを編集するか、次の関数を使用します。
$this->form_validation->set_message('rule', 'Error Message');"

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

于 2012-09-18T08:37:17.690 に答える
0
class MY_Form_validation extends CI_Form_validation {

    public function __construct()
    {
        parent::__construct();
    }
    function required_select($input)
    {
        $this->set_message('required_select','select %s');
        return FALSE;
    }

}

私のために働く:)

于 2014-06-19T17:47:40.803 に答える