web-dev-qa-db-fra.com

valider la longueur d'une entrée numérique dans laravel 5

foo.blade.php

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

FooController.php

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

le national-id Le champ doit contenir 10digits et moi nous attendions à ce que le code ci-dessus le valide, mais au lieu de cela, il va vérifier si le national-id exactement égal à 10 ou pas ...

Comment valider le length d'un champ numérique?

30
bobD

En fait, vous n'avez pas besoin d'utiliser digits_between règle. Vous pouvez utiliser règle des chiffres donc selon la documentation, il vous suffira d'utiliser:

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

sans la règle numeric car la règle digits vérifie également si la valeur donnée est numérique.

49
Marcin Nabiałek

Lorsque vous utilisez size sur un nombre, il vérifie si le nombre est égal à la taille, sur chaîne, il vérifie le nombre de caractères. Pour ce nombre, vous devez utiliser:

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

Dans laravel), la validation de la taille d'un champ numérique indiquera le nombre entier maximal auquel elle ne peut pas être supérieure.

Utilisez digits_between:

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