2つのフィールドがあります。
Eメール
これらのフィールドの1つに入力する必要があるように、Validatorオブジェクトを設定するにはどうすればよいですか?どちらでもかまいません。
$messages = array(
'email.required_without:qq' => Lang::get('messages.mustenteremail'),
'email.email' => Lang::get('messages.emailinvalid'),
'qq.required_without:email' => Lang::get('messages.mustenterqq'),
);
required_without
が機能するはずです。
これは、他のフィールドが存在しない場合、そのフィールドが必須であることを意味します。 3つ以上のフィールドがあり、1つだけが必要な場合は、required_without_all:foo,bar,...
を使用します
$rules = array(
'Email' => 'required_without:QQ',
'QQ' => 'required_without:Email',
);
上記の例(lucasgeiterによって与えられる)では、実際には両方ではなく片方の条件のみが必要です。
$rules = array(
'Email' => 'required_without:QQ'
);
両方のルールがある場合、どちらも入力しないと、2つのエラーメッセージが表示されます。この方法では、少なくとも1つのフィールドが入力されていることを確認し、どちらも入力されていない場合は1つのエラーメッセージのみを表示します。