Dan*_*iel 5 validation laravel laravel-5 laravel-validation
是否有可能在不键入FormRequest规则的情况下将bail规则设置为默认使用规则?
代替:
class StoreRequest extends FormRequest {
function rules() {
return [
'name' => 'bail|required|min:3',
'last_name' => 'bail|required|min:3',
'names' => 'bail|required|min:3',
'email' => 'bail|required|email',
'type' => 'integer|min:10|max:50',
// [...]
];
}
}
Run Code Online (Sandbox Code Playgroud)
我想获得更清洁的版本,例如:
class StoreRequest extends FormRequest {
protected $stopsOnFirstError = true; // I can't find anything like this
function rules() {
return [
'name' => 'required|min:3',
'last_name' => 'required|min:3',
'names' => 'required|min:3',
'email' => 'required|email',
'type' => 'integer|min:10|max:50',
// [...]
];
}
}
Run Code Online (Sandbox Code Playgroud)
更新:
我的一些规则定义为数组:
'type' => [
'bail',
'required',
'integer',
Rule::in(ContactType::getValues()),
],
Run Code Online (Sandbox Code Playgroud)
1)在不使其变得更复杂的情况下使用字符串替换
<?php
$rules = [
'name' => 'required|min:3',
'last_name' => 'required|min:3',
'names' => 'required|min:3',
'email' => 'required|email'
];
$stopsOnFirstError = true;
if(stopsOnFirstError){
array_walk($rules, function(&$value, $key) { $value = 'bail|'.$value; } );
}
print_r($rules);
?>
Run Code Online (Sandbox Code Playgroud)
现场演示:链接
输出 :
Array
(
[name] => bail|required|min:3
[last_name] => bail|required|min:3
[names] => bail|required|min:3
[email] => bail|required|email
)
Run Code Online (Sandbox Code Playgroud)
2)您还可以通过其他方式执行此操作,只需添加即可'*' => 'bail',应用到所有字段
class StoreRequest extends FormRequest {
function rules() {
return [
'*' => 'bail',
'name' => 'required|min:3',
'last_name' => 'required|min:3',
'names' => 'required|min:3',
'email' => 'required|email',
];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |