我有一个复选框和两个输入字段,如果我选中此复选框,则需要第二个(b)输入框,否则需要中的第一个(a)输入框。
<input type="checkbox" name="try" id="try" value="on">
<input type="text" name="a" id="a">
<input type="text" name="b" id="b">
$validator = Validator::make($request->all(), [
'a' => 'nullable|required_if:try,off',
'b' => 'nullable|required_if:try,on'
]);
尝试但不成功。请帮忙。编辑[required_if中的错字]
答案 0 :(得分:1)
首先,您需要在try输入上定义规则,例如:
$this->validate($request, [
'a' => 'partialARequired',
'b' => 'partialBRequired'
]);
然后,您必须定义您的partialRequired方法的定义:
class customValidation extends Validator
{
public function validatePartialARequired($attribute, $value, $parameters)
{
if(!in_array('try',$this->data) && empty($value))
{
return false;
}
return true;
}
public function validatePartialBRequired($attribute, $value, $parameters)
{
if(in_array('try',$this->data) && empty($value))
{
return false;
}
return true;
}
}