validating a numeric input's length in laravel 5

In fact you don't need to use digits_between rule. You can use digits rule so according to documentation it will be enough to use:

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

without numeric rule because digits rule also verify if given value is numeric.


When using size on a number it will check if the number is equal to the size, on string, it will check the amount of characters, for number you should use :

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

In laravel the size validation on a field that's numeric will indicate the max integer it cannot be larger than.

Use digits_between:

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