自从 Laravel 从 5.1 升级到 5.3 以来,我在验证方面遇到了一些奇怪的问题。
当我发布这样的数据时:
firstName null
验证规则是这样的:
$validator = Validator::make($postData, [
'firstName' => 'string|max:255',
'lastName' => 'string|max:255'
]);
上面的操作失败,并显示类似的消息"The XYZ must be a string."
。我不明白的是:
为什么未设置时验证失败required
?
意思是,如果该值是,它应该忽略它并且不会抛出错误
空的,对吗?
如果值设置为,为什么验证会失败null
?
为什么根本不发送参数就验证失败?
(像lastName
根本没有发布)
Laravel 5.3 验证中有什么变化吗?
Add nullable https://laravel.com/docs/5.3/validation#rule-nullable rule:
'firstName' => 'string|max:255|nullable',
'lastName' => 'string|max:255|nullable'
正在验证的字段可能是null
。这在验证原语(例如可以包含的字符串和整数)时特别有用null
values.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)