Laravel 5.4 required_with 不适用于 alpha_dash 和 min
Laravel 5.4 required_with doesn't works with alpha_dash and min
这是我的验证码:
'old_password' => 'max:255|required_with:new_password|old_password',
'new_password' => 'max:255|required_with:old_password|min:6|alpha_dash',
我有 alpha_dash 和 min:6 如果两个字段都为空,验证将失败。我该如何解决?
old_password 是自定义规则
Validator::extend('old_password', function ($attribute, $value, $parameters, $validator) {
if( $value == ''){
return true;
} else {
return \Hash::check($value, request()->user()->password);
}
});
问题是 min:6
和 alpha_dash
规则不知道 required_with:old_password
规则,并且当 old_password
字段不是时它失败了当前的。这就是为什么他们也失败了。
尝试为您的 new_password 字段使用扩展的 sometimes
规则。可以找到更详细的描述 here.
$validator->sometimes('newPassword', 'newPassword', function(){
return ! request('oldPassword');
})
这是我的验证码:
'old_password' => 'max:255|required_with:new_password|old_password',
'new_password' => 'max:255|required_with:old_password|min:6|alpha_dash',
我有 alpha_dash 和 min:6 如果两个字段都为空,验证将失败。我该如何解决?
old_password 是自定义规则
Validator::extend('old_password', function ($attribute, $value, $parameters, $validator) {
if( $value == ''){
return true;
} else {
return \Hash::check($value, request()->user()->password);
}
});
问题是 min:6
和 alpha_dash
规则不知道 required_with:old_password
规则,并且当 old_password
字段不是时它失败了当前的。这就是为什么他们也失败了。
尝试为您的 new_password 字段使用扩展的 sometimes
规则。可以找到更详细的描述 here.
$validator->sometimes('newPassword', 'newPassword', function(){
return ! request('oldPassword');
})