流明照明/验证验证器出错整数规则
问题描述:
我最近遇到了流明(5.4.6)(Laravel Components 5.4。*)下验证器(照明/验证)的问题。看起来整数规则不起作用。流明照明/验证验证器出错整数规则
我用爪子(或邮递员)发送companyName与字符串类型,它可以通过验证和'我在这里'可以打印出来。即使是布尔类型,比方说(布尔)companyName = TRUE也可以通过验证。你遇到过同样的问题吗?这个bug非常明显,但我没有在google上找到类似的讨论。
我还测试了字符串规则'required | string | min:1'并且它相应地工作,整数或布尔参数都不能通过验证。
答
Laravel /流明使得对于integer
规则验证使用PHP filter_var()
功能:
类照亮\验证\关注\ ValidatesAttributes:
protected function validateInteger($attribute, $value)
{
return filter_var($value, FILTER_VALIDATE_INT) !== false;
}
如在该文档中提到:
请注意,标量值在被过滤之前会在内部转换为字符串。
因此布尔值true
在内部转换为字符串1
,因此通过验证。
这不是一个错误,而是一个实现细节。
不错,你说得对,亚历克斯。谢谢 –