【问题标题】:Validation in Yii2Yii2 中的验证
【发布时间】:2016-05-30 06:31:03
【问题描述】:

我希望我的 quantity[field name] 必须为 zero(0) 或 positive

我在我的模型中定义了以下规则。

public function rules()
{
    return [
        [['quantity'], 'integer', 'min' => 0],
        [['quantity'], 'integer', 'max' => 1000000],

    ];
}

而且它工作正常。并在我尝试输入 负值 时显示错误消息。

但是问题是它接受-0 [减零]

如何限制用户不输入-0

谢谢

【问题讨论】:

    标签: php yii yii2 yii2-advanced-app


    【解决方案1】:

    好吧,没什么奇怪的,因为-0 等于0,你可以简单地使用匹配规则:

    ['quantity', 'match', 'pattern' => '/^[0-9]*$/'],
    ['quantity', 'integer', 'min' => 0, 'max' => 1000000],
    

    阅读更多关于match validator的信息。

    【讨论】:

      【解决方案2】:

      试试这个:

      ['quantity', 'compare', 'compareValue' => 0, 'operator' => '>='],
      

      更多详情,可以关注How to specify a validation rule in Yii2 which will be greater than or less than of a specific number or value?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-16
        • 1970-01-01
        相关资源
        最近更新 更多