6
由於將laravel從5.1升級到5.3,我在驗證中遇到了一些奇怪的問題。Laravel 5.3當變量爲空時驗證失敗
當我發佈這樣的數據:
firstName null
和驗證規則是這樣的:
$validator = Validator::make($postData, [
'firstName' => 'string|max:255',
'lastName' => 'string|max:255'
]);
上述失敗,消息像"The XYZ must be a string."
。我不明白的是:
爲什麼驗證失敗時,它不被設置爲
required
? 含義,它應該忽略它,並且如果值爲 爲空,則不會拋出錯誤,對吧?爲什麼驗證失敗,如果該值設置爲
null
?爲什麼驗證失敗時根本沒有發送參數? (如這是不是在所有張貼
lastName
)
有事在Laravel 5.3驗證改變?
完美。這解決了它。謝謝!一旦SO允許,我會在10分鐘內接受你的回答。一個簡短的問題是,laravel 5.3中的這個變化是什麼?因爲我沒有在5.1中遇到這個問題,我從來沒有在驗證規則中添加空值。 – Neel
@Neel在5.2中看不到任何'可空'規則的代碼。它只有5.3。所以我想他們在驗證中改變了一些東西。 –
這很有道理。謝謝你,亞歷克斯指出了這一點。這非常有幫助! – Neel