如何使用Validation来创建自定义规则,以便该字段可以为空,因为调用函数的结果为true,否则该字段为必填项。
我当然尝试使用'nullable',但是即使该字段为空,Validation也应执行checkAreasDiff()函数来验证该字段在更新期间可以为空。
在控制器中,我创建了一个函数:
private function validator_update(array $data) {
\Validator::extend('areas_diff', function($attribute, $value, $parameters, $validator) {
return checkAreasDiff();
}, 'VALIDATOR AREAS_DIFF OK.');
/**
* RULES
*/
$rules = [
'fiscalizoarea' => 'areas_diff',
];
/**
* Return \Validator
*/
return \Validator::make($data, $rules, $msgs);
}
答案 0 :(得分:0)
如果我对问题的理解正确,那么仅当另一个字段不为空时,您才需要一个字段吗?
已经有一个Laravel规则:required_with。
required_with:foo,bar,...
正在验证的字段必须存在,并且仅在有任何字段时不为空 还有其他指定字段。
或者,如果我想让您讲清楚,required_without
required_without:foo,bar,...
正在验证的字段必须存在,并且只有在任何情况下都不能为空 其他指定字段不存在。