Проверка числовой длины ввода в laravel 5

foo.blade.php

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

FooController.php

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

поле national-id должно содержать 10 digits, и я действительно ожидал, что код выше проверяет это, но вместо этого он проверит Если national-id точно равно 10 или нет...
< ш > как я могу проверить length числового поля?

Ответ 1

На самом деле вам не нужно использовать правило digits_between. Вы можете использовать правило цифр, поэтому в соответствии с документацией этого будет достаточно:

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

без правила numeric, потому что правило digits также проверяет, является ли заданное значение числовым.

Ответ 2

В laravel проверка размера в поле, в котором число будет указывать максимальное число, не может быть больше.

Используйте digits_between:

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

Ответ 3

При использовании размера для числа он проверяет, равен ли номер его размеру, на строке он проверяет количество символов для номера, который вы должны использовать:

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