在laravel 5中验证数字输入的长度

bob*_*obD 31 php laravel laravel-5 laravel-validation laravel-5.2

foo.blade.php

<input type="text" name="national-id" />
Run Code Online (Sandbox Code Playgroud)

FooController.php

$rules = [
    'national-id' => 'required|size:10|numeric'
];
Run Code Online (Sandbox Code Playgroud)

national-id字段应该包含10 digits,我实际上期望上面的代码验证这一点,但它将检查如果national-id完全等于10或不...

我如何验证length数字字段?

Mar*_*łek 55

实际上你不需要使用digits_between规则.您可以使用数字规则,因此根据文档,它将足以使用:

$rules = [
    'national-id' => 'required|digits:10'
];
Run Code Online (Sandbox Code Playgroud)

没有numeric规则,因为digits规则还验证给定的值是否为数字.

  • 旁注:`digits:10` 的意思是:“必须正好是 10 位数字”(不能少也不能多) (7认同)

Car*_*los 22

当在数字上使用大小时,它将检查数字是否等于大小,在字符串上,它将检查字符数量,对于您应该使用的数字:

'number' => 'required|numeric|digits_between:1,10'
Run Code Online (Sandbox Code Playgroud)


Ray*_*Ray 6

在laravel中,对数字字段的大小验证将指示不能大于的最大整数.

使用digits_between:

   'national-id' => 'required|digits_between:10,10|numeric' 
Run Code Online (Sandbox Code Playgroud)