0

私はインターネット全体を検索していましたが、私の問題に対する答えが見つかりませんでした。codeigniter form_validation ヘルパーを使用しています。

入力フィールドを赤などに色付けして、どの入力フィールドでエラーが発生したかをユーザーに伝えたいと思います。

入力フィールドの例を次に示します

echo form_input($field, set_value($field));

そしてコントローラーで

$this->form_validation->set_rules($field, $field,'required|trim|xss_clean|callback_check_numbers');

$this->form_validation->set_message('check_numbers', '<script tpye="text/javascript">alert("Only numbers and dots are allowed");</script>');

そのアラートの代わりに、入力フィールドを赤く塗りたいと思います。しかし、そのアラートの代わりにスタイリングを含めようとしても、CI はファイルにヘッダーを配置する前にこれを書き込み、css ファイルのインクルードですべてのエラー スタイリングが失われるため、何も起こりません。エラーが発生したフィールドのフィールド ID を取得する方法はありますか? そして、たとえばjqueryで入力を赤く塗るにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

あなたが探しているのは、「ビューページ内」です:

    <?php
    if (form_error($field)) {
    echo form_input($field, set_value($field), 'style="border:1px solid #ff0000"');
   } else {
      echo form_input($field, set_value($field));
     }
?>

しかし、フィールドを生成するのではなく、それらを html フィールドとして書き留めることをお勧めします。これにより、インライン php を使用してフィールドをより柔軟に操作できるようになり、次のようになります。

    <input name="field" <?php if (form_error('field')) {?> style="border:1px solid #ff0000" <?php } ?> type="text" value="<?php echo set_value('field'); ?>">
于 2013-11-07T04:48:20.167 に答える
0

Codeigniter フォーム検証の代わりに、Jquery フォーム検証を使用できます。それを使用すると、「ハイライト」を使用して入力を赤く塗ることができます。

于 2013-11-07T04:46:24.847 に答える