我有两个输入'creditor'和'debtor',我希望用户至少在其中一个或两个中输入值。 这就是我正在使用的方法
404.html
如何使用laravel验证执行相同的操作 像示例中一样:
if($request->input('creditor')==Null && $request->input('debtor')==Null){
Session::flash('danger','Please add Value in one of the two inputs at least');
return redirect()->back();
}
但是我想要的是,如果输入之一具有值,则无需检查其他
答案 0 :(得分:0)
有很多方法可以解决此问题,但是我建议您使用$request->filled()
,因为它会检查某个字段是否存在以及它是否有价值。因此,它会同时isset()
和!empty()
。
如果其中一个语句/条件为true,则||
AKA OR
逻辑返回true
,如果两个条件均为false,则返回false。
if($request->filled('creditor') || $request->filled('debtor')){
// Either of the has value in it.
} else {
Session::flash('danger','Please add Value in one of the two inputs at least');
return redirect()->back();
}
编辑
您还可以使用required_without_all:foo,bar,
示例:
$rules = array(
'creditor' => 'required_without_all:debtor',
'debtor' => 'required_without_all:creditor',
);
$validator = \Validator::make($request->all(), $rules);
if($validator->fails()){
Session::flash('danger','Please add Value in one of the two inputs at least');
return redirect()->back();
}
答案 1 :(得分:0)
您可以简单地使用OR运算符进行检查。