laravel validation laravel-5.3 laravel-validation

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:

  1. ¿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?

  2. ¿Por qué falla la validación si el valor se establece como null ?

  3. ¿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 valores null .