5

これを使ったら

<?= validation_errors(); ?>

結果は

Username field is required
Password field is required
<textbox for username>
<textbox for password>

私が実際に必要としているのは、それらのエラーをそれらの要素とインラインで表示することです

例:

<textbox for username> Username field is required
<textbox for password> Password field is required
4

3 に答える 3

8

エラーを個別に表示するには、関数form_error('username')を使用する必要があります。また、チェックされているフィールドの値を取得するには、関数set_value('username')を使用します。

これらの2つの関数を機能させるには、コントローラーで「username」フィールドのルールを設定する必要があります。検証ルールがそのフィールドに適用されるように指定する場合。

<?php echo form_error('username'); ?>
<input type="text" name="username" value="<?php echo set_value('username'); ?>">

フォームログインに関する簡単なチュートリアルは次のとおりです

于 2012-05-19T05:59:41.277 に答える
4

これについては、ユーザーガイドで説明されています。

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

エラーを個別に表示する

リストとしてではなく、各フォームフィールドの横にエラーメッセージを表示したい場合は、このform_error()関数を使用できます。

したがって、フィールド名がusername、の場合は、を使用しますform_error('username')

重要な注意:フォームフィールドの名前として配列を使用する場合は、関数に配列として指定する必要があります。例:

<?php echo form_error('options[size]'); ?>

これはのショートカットで$this->form_validation->error()あり、必要に応じて使用することもできます。

于 2012-05-19T02:44:56.967 に答える
-1

この質問を検索したとき、私は別の種類の答えを探していました。そこで、「単一の検証エラーを表示するにはどうすればよいですか?」という問題の解決策を共有したいと思います。

解決策は、後続の各フォーム検証ルールの前に検証ルーチンを実行することです。そうすれば、最初のエラーのみが報告されます。

        $this->form_validation->set_rules('username', 'Username', 'callback_check_username');

        if ($this->form_validation->run() == TRUE){
            $this->form_validation->set_rules('password', 'Password', 'callback_check_password');
        } 
于 2017-05-25T19:25:25.547 に答える