少しきれいな方法で解決しようとしている問題があります。基本的に何が起こっているかというと、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 の両方を必須に設定することで、ユーザーの入力と送信ボタンのクリック イベントに基づいて更新することで、問題を解決したと思います。