【发布时间】:2014-01-30 23:00:41
【问题描述】:
目前,如果我有一个键“名称”的必需规则,但我没有在数据数组中传递它,验证器将失败。我希望它在这种情况下不会失败。我只想验证数据数组中存在的字段。有没有一种内置的方法可以做到这一点,或者我必须扩展 Validator 类?
【问题讨论】:
-
为什么在不需要的输入值上使用 required?
标签: validation laravel
目前,如果我有一个键“名称”的必需规则,但我没有在数据数组中传递它,验证器将失败。我希望它在这种情况下不会失败。我只想验证数据数组中存在的字段。有没有一种内置的方法可以做到这一点,或者我必须扩展 Validator 类?
【问题讨论】:
标签: validation laravel
对于低于 5.9 的 Laravel 版本
对于任何拥有验证器对象的人,使用:
Method ->validateFilled(string $attribute, mixed $value)
也可以帮助他们验证给定的属性是否存在。可以在他们各自的情况下帮助某人。
来源:-https://laravel.com/api/5.8/Illuminate/Validation/Validator.html#method_validateFilled
【讨论】:
您可以使用 nullable,如果电子邮件不存在,它将通过
$request->validate([
'name' => 'required',
'email' => 'nullable|email'
])
此外,您应该删除 required 验证。
【讨论】:
sometimes,您还可以同时使用required,这可能是登录表单等所需的。
required_with, required_if 用于条件情况。
nullable,后者使用sometimes。 There is a related note about this in the docs.
您可以使用sometimes 验证规则。
在某些情况下,您可能希望针对 仅当该字段存在于输入数组中时。要快速 完成此操作,将有时规则添加到您的规则列表中。
http://laravel.com/docs/validation#conditionally-adding-rules
$v = Validator::make($data, array(
'email' => 'sometimes|required|email',
));
请务必运行 composer update,因为有时快捷方式是 Laravel 4.1.14 的一项功能。
【讨论】: