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 10
digits
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?
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.
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'
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'