La validación de Laravel 5.3 falla cuando las variables son nulas
validation laravel-5.3 (1)
Desde la actualización de laravel de 5.1 a 5.3, tengo un par de problemas con la validación.
Cuando publico un dato como este:
firstName null
Y las reglas de validación son así:
$validator = Validator::make($postData, [
''firstName'' => ''string|max:255'',
''lastName'' => ''string|max:255''
]);
Lo anterior falla con los mensajes algo como "The XYZ must be a string."
. Lo que no entiendo es:
¿Por qué falla la validación cuando no se configura como se
required
? Es decir, debería ignorarlo y no lanzar un error si el valor está vacío, ¿verdad?¿Por qué falla la validación si el valor se establece como
null
?¿Por qué falla la validación cuando el parámetro no se envía en absoluto? (como el
lastName
que no está publicado en absoluto)
¿Ha cambiado algo en las validaciones de Laravel 5.3?
Añadir regla nullable
:
''firstName'' => ''string|max:255|nullable'',
''lastName'' => ''string|max:255|nullable''
El campo bajo validación puede ser
null
. Esto es particularmente útil al validar primitivos como cadenas y enteros que pueden contener valoresnull
.