gpt4 book ai didi

Laravel 5.8 验证 - 始终保释任何规则

转载 作者:行者123 更新时间:2023-12-03 09:37:47 24 4
gpt4 key购买 nike

有没有可能设置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',
// [...]
];
}
}

我想获得更清洁的版本,例如:

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',
// [...]
];
}
}

更新:

我的一些规则被定义为数组:

'type' => [
'bail',
'required',
'integer',
Rule::in(ContactType::getValues()),
],

最佳答案

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);
?>

现场演示: Link

输出 :
Array
(
[name] => bail|required|min:3
[last_name] => bail|required|min:3
[names] => bail|required|min:3
[email] => bail|required|email
)

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',
];
}
}

关于Laravel 5.8 验证 - 始终保释任何规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55216242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com