2017-04-26 66 views
0

我最近遇到了流明(5.4.6)(Laravel Components 5.4。*)下驗證器(照明/驗證)的問題。看起來整數規則不起作用。流明照明/驗證驗證器出錯整數規則

我用爪子(或郵遞員)發送companyName與字符串類型,它可以通過驗證和'我在這裏'可以打印出來。即使是布爾類型,比方說(布爾)companyName = TRUE也可以通過驗證。你遇到過同樣的問題嗎?這個bug非常明顯,但我沒有在google上找到類似的討論。

我還測試了字符串規則'required | string | min:1'並且它相應地工作,整數或布爾參數都不能通過驗證。

code screen-shot

回答

0

Laravel /流明使得對於integer規則驗證使用PHP filter_var()功能:

照亮\驗證\關注\ ValidatesAttributes

protected function validateInteger($attribute, $value) 
{ 
    return filter_var($value, FILTER_VALIDATE_INT) !== false; 
} 

如在該文檔中提到:

請注意,標量值在被過濾之前會在內部轉換爲字符串。

因此布爾值true在內部轉換爲字符串1,因此通過驗證。

這不是一個錯誤,而是一個實現細節。

+0

不錯,你說得對,亞歷克斯。謝謝 –