1

少しきれいな方法で解決しようとしている問題があります。基本的に何が起こっているかというと、2 つのフィールドを持つフォームがあり、フォームが有効であるためにはどちらか一方が存在する必要があります。私の問題は、2 つのフィールドを必須としてマークすると、フォーム入力プロセス全体でそれらが必要になることです。

if ($this->input->post('field1'))
{
    make field1 required
}
else if ($this->input->post('field2'))
{
    make field2 required
}
else
{
    make field1 && field2 required
}

問題はelseにあります...両方を必須にすると; 初めてエラーを探すときに、両方のフィールドにデータが入力されているかどうかをチェックします。フィールド 1 にデータが入力されている場合、フィールド 2 は実際には必要ないときに必須として表示され、再度チェックしてもエラー メッセージは消えません。

もう 1 つのオプションは、フィールド 1 と 2 を不要のままにすることですが、これは、正しい情報を入力しても両方のフィールドを空白のままにすると送信されることを意味します。

任意の考えをいただければ幸いです。

** 注: ロード時にフィールド 1 とフィールド 2 の両方を必須に設定することで、ユーザーの入力と送信ボタンのクリック イベントに基づいて更新することで、問題を解決したと思います。

4

1 に答える 1

1

codeigniter でフォームを検証する最もクリーンで簡単な方法は、フォーム検証ライブラリを使用することです

First you have to manually load or auto load your library

$this->load->library('form_validation'); or $autoload['libraries']= array('form_validation');

You have to set rules for each field like

$this->form_validation('field_name','Field Label','required');

彼らのマニュアルは本当に読む価値があります。私は現在、codeigniter を使用してアプリケーションを開発しており、それは本当に楽しくて簡単です

于 2012-09-19T19:22:41.067 に答える