我最近在Lumen(5.4.6)(Laravel Components 5.4。*)下遇到了验证器(照明/验证)的问题。似乎整数规则不起作用。
我使用Paw(或邮递员)发送带有类型字符串的companyName,它可以通过验证,我在这里'可以打印出来。即使是布尔类型,让我们说(布尔)companyName = TRUE也可以通过验证。你遇到过同样的问题吗?这个bug很明显,但我没有在谷歌上找到类似的讨论。
我还测试了字符串规则' required | string | min:1'并且它相应地工作,整数和布尔参数都不能通过验证。
答案 0 :(得分:0)
Laravel / Lumen使用PHP filter_var()
函数进行integer
规则验证:
类照亮\验证\忧虑\ ValidatesAttributes :
protected function validateInteger($attribute, $value)
{
return filter_var($value, FILTER_VALIDATE_INT) !== false;
}
如文档中所述:
请注意,标量值在过滤之前会在内部转换为字符串。
因此布尔true
在内部转换为字符串1
,因此通过验证。
它不被视为错误,而是实施细节。