Intento validar la POST de la matriz en Laravel:
$validator = Validator::make($request->all(), [
"name.*" => 'required|distinct|min:3',
"amount.*" => 'required|integer|min:1',
"description.*" => "required|string"
]);
Envío POST vacío y obtengo esto if ($validator->fails()) {}
como False
. Significa que la validación es verdadera, pero no lo es.
¿Cómo validar la matriz en Laravel? Cuando envío el formulario coninput name="name[]"
php
laravel
laravel-5.4
Darama
fuente
fuente
$request->validate([...])
. Se generará una excepción si los datos no pasan la validación.Tengo esta matriz como datos de solicitud de una tabla / cuadrícula de datos HTML + Vue.js:
Y use esto para validar cuál funciona correctamente:
fuente
La forma recomendada de escribir la lógica de validación y autorización es poner esa lógica en clases de solicitud separadas. De esta manera, el código de su controlador permanecerá limpio.
Puede crear una clase de solicitud ejecutando
php artisan make:request SomeRequest
.En el
rules()
método de cada clase de solicitud, defina sus reglas de validación:En su controlador escriba su función de ruta así:
Cada clase de solicitud viene con métodos / ganchos de validación previa y posterior que se pueden personalizar según la lógica empresarial y casos especiales para modificar el comportamiento normal de la clase de solicitud.
Puede crear clases de solicitud principal para tipos similares de solicitudes (por ejemplo,
web
yapi
) solicitudes y luego encapsular alguna lógica de solicitud común en estas clases principales.fuente
Datos un poco más complejos, combinación de las respuestas de @ Laran y @Nisal Gunawardana
La regla de validación será
fuente
Debe recorrer la matriz de entrada y agregar reglas para cada entrada como se describe aquí: Reglas de bucle superior
Aquí hay un código para ti:
fuente