我有一个验证器,供用户更新他们的个人资料,在同一页面上,用户可以更改他们的密码。虽然,我不想检查所有3个字段(当前密码,新/已确认)是否为空。
有没有办法可以在Validator::make
中添加自定义检查并检查,或添加到验证器并添加带错误的返回页面?
$validator = Validator::make($request->all(), [
'first_name' => 'required|max:191',
'last_name' => 'required|max:191',
'email' => 'required|email|max:191'
]);
示例3字段为空,不会出现问题,但如果填写完毕,我可以将其附加到此处进行检查
例如
if ($request->new_password) {
$validator .= array('new_password' => 'required');
}
我的最后一个解决方案是拥有两个验证器...会起作用吗?
答案 0 :(得分:1)
您可以通过将sometimes
添加到规则列表来完成此操作。仅当输入数组中存在该字段时,sometimes
才会对字段运行验证检查。作为一个例子,
$v = Validator::make($data, [
'email' => 'sometimes|required|email',
]);
有关更多规则选项,请参阅Laravel Validator Documentation。