流明照明/验证验证器出错整数规则

时间:2017-04-26 10:03:40

标签: laravel-5 lumen

我最近在Lumen(5.4.6)(Laravel Components 5.4。*)下遇到了验证器(照明/验证)的问题。似乎整数规则不起作用。

我使用Paw(或邮递员)发送带有类型字符串的companyName,它可以通过验证,我在这里'可以打印出来。即使是布尔类型,让我们说(布尔)companyName = TRUE也可以通过验证。你遇到过同样的问题吗?这个bug很明显,但我没有在谷歌上找到类似的讨论。

我还测试了字符串规则' required | string | min:1'并且它相应地工作,整数和布尔参数都不能通过验证。

code screen-shot

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,因此通过验证。

它不被视为错误,而是实施细节。