数字的Laravel规则验证

时间:2014-12-23 06:02:24

标签: php laravel laravel-4

我有以下规则:

'Fno' => 'digits:10'
'Lno' => 'min:2|max5'  // this seems invalid

但如何制定规则

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

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

5 个答案:

答案 0 :(得分:46)

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

$rules = ['Fno' => 'digits_between:2,5', 'Lno' => 'numeric|min:2'];

$rules = ['Fno' => 'numeric|min:2|max:5', 'Lno' => 'numeric|min:2'];

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

  

digits_between :min,max

     

验证字段的长度必须在给定的min之间   和最大

     

<强>数字

     

验证字段必须具有数值。

     

<强>最大

     

验证字段必须小于或等于最大值   值。字符串,数字和文件以相同的方式进行评估   作为规模规则。

     

<强>分钟

     

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

答案 1 :(得分:1)

Laravel minmax验证无法与numeric规则验证一起正常工作。 Laravel提供了规则numeric, min and max而不是digits_between

$this->validate($request,[
        'field_name'=>'digits_between:2,5',
       ]);

答案 2 :(得分:1)

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

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

]);

答案 3 :(得分:0)

此外,您的原始帖子中只有一个错字。

'min:2|max5'应该是'min:2|max:5'
注意“ max”规则中的“:”。

答案 4 :(得分:0)

$this->validate($request,[
        'input_field_name'=>'digits_between:2,5',
       ]);

尝试一下就可以了