foo.blade.php
<input type="text" name="national-id" />
FooController.php
$rules = [
'national-id' => 'required|size:10|numeric'
];
das Feld national-id
sollte 10
digits
enthalten, und ich habe tatsächlich damit gerechnet, dass der obige Code dies bestätigt. Stattdessen wird überprüft, ob national-id
genau 10 entspricht oder nicht ...
Wie kann ich das length
eines numerischen Feldes validieren?
In der Tat müssen Sie nicht digits_between
Regel. Sie können Ziffernregel verwenden. Entsprechend der Dokumentation ist es ausreichend, Folgendes zu verwenden:
$rules = [
'national-id' => 'required|digits:10'
];
ohne numeric
Regel, da digits
Regel auch überprüft, ob der angegebene Wert numerisch ist.
Bei der Verwendung von size für eine Zahl wird geprüft, ob die Zahl der Größe entspricht. Bei string wird die Anzahl der Zeichen auf die Zahl überprüft, die Sie verwenden sollten:
'number' => 'required|numeric|digits_between:1,10'
In laravel der Größenüberprüfung in einem numerischen Feld wird die maximale Ganzzahl angegeben, die nicht größer als sein darf.
Verwenden Sie digits_between:
'national-id' => 'required|digits_between:10,10|numeric'