【问题标题】:Laravel Rule Validation for Numbers数字的 Laravel 规则验证
【发布时间】:2015-02-21 06:36:21
【问题描述】:

我有以下规则:

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

但是如何有规则,

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

Lno 应该是只有最少 2 位数字的数字

【问题讨论】:

  • 题外话:错字缺少:

标签: php laravel laravel-4


【解决方案1】:

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

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

]);

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:
      $this->validate($request,[
              'input_field_name'=>'digits_between:2,5',
             ]);
      

      试试这个就行了

      【讨论】:

        【解决方案4】:

        另外,您的原始帖子中只是一个错字。

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

        【讨论】:

          【解决方案5】:

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

          $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

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

          数字

          正在验证的字段必须有一个数值。

          最大值

          正在验证的字段必须小于或等于最大值 价值。字符串、数字和文件以相同的方式计算 作为大小规则。

          分钟

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

          【讨论】:

          • 只是添加了一种验证类型digits:value。验证的字段必须是数字,并且必须具有精确的值长度。[laravel.com/docs/5.0/validation#rule-digits]
          • 应该注意的是,如果您指定numeric|min:2,您实际上会说最小值是“2”而不是“2 位”,而仅输入min:2 将只允许2 位。最小和最大规则的功能类似于大小,它采用字符串的长度,或者在数字的情况下采用数字的值。见laravel.com/docs/5.8/validation#rule-size
          猜你喜欢
          • 1970-01-01
          • 2017-07-09
          • 2020-06-09
          • 2016-12-17
          • 2020-06-25
          • 2021-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多