Tento validar o POST do array no Laravel:
$validator = Validator::make($request->all(), [
"name.*" => 'required|distinct|min:3',
"amount.*" => 'required|integer|min:1',
"description.*" => "required|string"
]);
Eu envio um POST vazio e recebo if ($validator->fails()) {}
como False
. Significa que a validação é verdadeira, mas não é.
Como validar array no Laravel? Quando eu envio o formulário cominput name="name[]"
php
laravel
laravel-5.4
Darama
fonte
fonte
$request->validate([...])
. Uma exceção será gerada se os dados falharem na validação.Eu tenho esta matriz como meus dados de solicitação de uma grade / tabela de dados HTML + Vue.js:
E use isso para validar o que funciona corretamente:
fonte
A maneira recomendada de escrever lógica de validação e autorização é colocar essa lógica em classes de solicitação separadas. Dessa forma, seu código de controlador permanecerá limpo.
Você pode criar uma classe de solicitação executando
php artisan make:request SomeRequest
.No
rules()
método de cada classe de solicitação, defina suas regras de validação:Em seu controlador, escreva sua função de rota assim:
Cada classe de solicitação vem com ganchos / métodos de pré e pós-validação que podem ser personalizados com base na lógica de negócios e casos especiais para modificar o comportamento normal da classe de solicitação.
Você pode criar classes de solicitação pai para tipos semelhantes de solicitações (por exemplo,
web
eapi
) solicitações e, em seguida, encapsular alguma lógica de solicitação comum nessas classes pai.fonte
Dados um pouco mais complexos, mistura das respostas de @Laran e @Nisal Gunawardana
A regra de validação será
fonte
Você deve fazer um loop na matriz de entrada e adicionar regras para cada entrada conforme descrito aqui: Regras de loop
Aqui está um código para você:
fonte