数字的Laravel规则验证

Ang*_*lar 30 php laravel laravel-4

我有以下规则:

'Fno' => 'digits:10'
'Lno' => 'min:2|max5'  // this seems invalid
Run Code Online (Sandbox Code Playgroud)

但是如何制定规则呢

Fno应该是一个最小2位到最大5位数的数字

Lno应该是只有Min 2数字的数字

Dam*_*rsy 57

如果我正确得到了你想要的东西:

$rules = ['Fno' => 'digits_between:2,5', 'Lno' => 'numeric|min:2'];
Run Code Online (Sandbox Code Playgroud)

要么

$rules = ['Fno' => 'numeric|min:2|max:5', 'Lno' => 'numeric|min:2'];
Run Code Online (Sandbox Code Playgroud)

对于所有可用规则:http://laravel.com/docs/4.2/validation#available-validation-rules

digits_between :min,max

验证字段的长度必须介于给定的最小值和最大值之间.

数字

验证字段必须具有数值.

最大值:

验证字段必须小于或等于最大值.字符串,数字和文件的评估方式与大小规则相同.

min:

验证字段必须具有最小值.字符串,数字和文件的评估方式与大小规则相同.

  • 只需添加一个验证类型`digits:value`.验证字段必须是数字,并且必须具有确切的长度值.[https://laravel.com/docs/5.0/validation#rule-digits] (3认同)
  • 应该注意的是,如果您指定“numeric|min:2”,您实际上会说最小值是“2”而不是“2 位数字”,而仅输入“min:2”将只允许 2 位数字。最小和最大规则的功能类似于大小,它采用字符串的长度,或者在数字的情况下采用数字的值。请参阅 https://laravel.com/docs/5.8/validation#rule-size (2认同)

Rip*_*din 8

$this->validate($request,[
        'input_field_name'=>'digits_between:2,5',
       ]);
Run Code Online (Sandbox Code Playgroud)

试试这个它会工作


小智 8

编写最小值和最大值验证的完整代码如下:

    $request->validate([
'Fno' => 'integer|digits_between:2,5',
'Lno' => 'min:2',

]);
Run Code Online (Sandbox Code Playgroud)


Sum*_*pta 5

Laravelminmax验证无法与numeric规则验证一起正常工作。相反numeric, min and max,Laravel 提供了一条规则digits_between

$this->validate($request,[
        'field_name'=>'digits_between:2,5',
       ]);
Run Code Online (Sandbox Code Playgroud)