it-swarm-pt.tech

validando o comprimento de uma entrada numérica em laravel 5

foo.blade.php

<input type="text" name="national-id" />

FooController.php

$rules = [
    'national-id' => 'required|size:10|numeric'
];

o campo national-id deve conter 10digits e eu realmente esperava que o código acima valide isso, mas, em vez disso, verificará se o national-id é exatamente igual a 10 ou não .. .

como posso validar o length de um campo numérico?

30
bobD

Na verdade, você não precisa usar a regra digits_between. Você pode usar regra dos dígitos para que, de acordo com a documentação, seja suficiente:

$rules = [
    'national-id' => 'required|digits:10'
];

sem regra numeric porque a regra digits também verifica se o valor fornecido é numérico.

49
Marcin Nabiałek

Ao usar o tamanho em um número, ele verificará se o número é igual ao tamanho, na string, verificará a quantidade de caracteres, para o número que você deve usar:

'number' => 'required|numeric|digits_between:1,10'
18
Carlos

Em laravel, a validação de tamanho em um campo numérico indica o número inteiro máximo que não pode ser maior que.

Use digits_between:

   'national-id' => 'required|digits_between:10,10|numeric' 
6
Ray