Laravel - 防止对空输入进行验证检查
Posted
技术标签:
【中文标题】Laravel - 防止对空输入进行验证检查【英文标题】:Laravel - prevent validation check on empty inputs 【发布时间】:2017-08-10 18:54:15 【问题描述】:表单中有一些输入字段,这是我在模型中定义的规则:
public static $rules = [
'name' => 'string',
'email' => 'email',
'phone' => 'sometimes|numeric',
'mobile' => 'numeric',
'site_type_id' => 'integer'
];
它们都不是必需的。但是当提交表单时,会出现验证错误,即电子邮件应该是电子邮件地址,其他输入也是如此。
在这种情况下,有一个字段 required
是没有意义的,因为 laravel 总是根据规则验证字段。
我知道提交表单时,空字段有null
值。我应该如何防止空字段的字段验证?
【问题讨论】:
我猜你现在可以接受自己的答案了 【参考方案1】:Laravel 5.3 以上nullable
可用于可选字段:
https://laravel.com/docs/validation#rule-nullable
如果您不希望验证器将空值视为无效,您通常需要将“可选”请求字段标记为可空
所以rules
数组应该是这样的:
public static $rules = [
'name' => 'nullable|string',
'email' => 'nullable|email',
'phone' => 'nullable|numeric',
'mobile' => 'nullable|numeric',
'site_type_id' => 'nullable|integer'
];
【讨论】:
以上是关于Laravel - 防止对空输入进行验证检查的主要内容,如果未能解决你的问题,请参考以下文章
防止在 DataContractSerializer 中对空成员进行序列化