表单验证 nullable 规则,为什么' ‘几个空格字符串也能通过验证?
表单:
password = ‘’
password = ‘ ‘ (5 个空格)
都可以通过 nullable 规则,这是为啥呢? 文档里只写的是允许 null .
空字符串’’ == null 可以理解,
‘ ‘5 个空格 (帖子显示问题,只看到 1 个空格) 字符串也等于 null? 显然不对。
那就只能是文档 nullable 规则描述有误或有缺失(不全面)
难道要描述为: 允许值为 null 或空格字符串(不是空字符串)
初学 laravel,看不懂源码,求大拿把这个验证规则的源码贴一下看看,或讲讲这块是啥情况。
另外:只有表单字段名为: password 时,才不会 trim 去除空格,才有此问题。 其他名称的字段,因为默认有 trim 这个中间件的缘故,多个空格字符串,就转为 null 啦,不影响。
推荐文章: