gpt4 book ai didi

php - Laravel 表单数组验证

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:46:25 24 4
gpt4 key购买 nike

我需要一些帮助来使用 Laravel 5.4 验证我的表单。

我的表格:

{{Form::bsText('general[firstname]')}} 
{{Form::bsText('general[lastname]')}}

然后我有一个使用以下规则进行验证的 RequestObject:

'general[firstname]' => 'required|string:max:255',
'general[lastname]' => 'required|string:max:255',

通过这种方式,当它不像预期的那样为空时,它会生成错误“required”。虽然当我填写一个字符串时,它仍然会给出所需的错误消息。

我还尝试了 laravel 文档中的以下内容:

'general.firstname' => 'required|string:max:255',
'general.lastname' => 'required|string:max:255',

和:

'general.*.firstname' => 'required|string:max:255',
'general.*.lastname' => 'required|string:max:255',

以上两个都不报错。

根据要求,这是我的完整请求对象:

/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
$user = Auth::user();

return ($user && $user->isProjectManager()) ||
($user && $user->isAdmin());
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
switch($this->method()){
case 'GET':
case 'DELETE':
return [];
case 'POST':
return [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'role' => 'in:2,3,4,5,6,7',
'password' => 'required|string|min:6|confirmed',
'project_manager_gegevens_photo' => 'required_if:role,2|mimes:png,jpeg,gif',
'general[voornaam]' => 'required|alpha:max:255',
'general[achternaam]' => 'required|string:max:255',
'general[date]' => 'required_if:role,3,4,5|date|after:today',
'general[telefoonnummer]' => 'required_if:role,3,4,5',
'general[interne_medewerker]' => 'boolean',
'general[geslacht]' => 'in:m,v,o',
];
case 'PUT':
case 'PATCH':
return [
'name' => 'required|string|max:255',
'password' => 'required|string|min:6|confirmed',
];
default:return [];
}
}

证明它与数组验证有关:当我将名称更改为:

{{Form::bsText('general_firstname')}} 

'general_firstname' => 'required|string:max:255'

它的验证就像您期望的那样。虽然,我喜欢干净和独立的东西,并且想要一个包含所有一般字段的数组。

那么,我怎样才能验证它是一个数组呢?

最佳答案

使用字母而不是字符串,

喜欢,

'general.firstname' => 'required|alpha|max:255'

替换这个,

'general[firstname]' => 'required|string:max:255',

引用文档, https://laravel.com/docs/5.4/validation#rule-alpha

关于php - Laravel 表单数组验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46541323/

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