Yii2:动态最大值验证规则

时间:2016-06-27 09:17:21

标签: validation yii2

如何在yii2中为字段添加自定义验证。 文本框值不应超过当前模型的表字段值。 有没有办法从控制器添加新规则?

例如:$model->f1应小于或等于$model->f2

我使用dynamicmodel获得了一些积分。但我只有一个字段要检查。

它也应该在客户端工作。

无论如何

是从控制器还是在activeform中添加自定义规则?

感谢。

2 个答案:

答案 0 :(得分:1)

您可以将CompareValidator compareValue属性用作: -

 public function rules()
{
    return [
       // Your Validation rules as
        [
            'f2' ,
            'compare' ,
            'compareValue' => ArrayHelper::getValue($this , ['oldAttributes' ,'f1']),
            'operator' => '<=',
        ]
    ];
}

保存在数据库中的模型f1值必须大于用户填写的f2

答案 1 :(得分:1)

将其添加到模型中的验证规则中,以确保f1值为&lt; = f2。

[
  // other validation rules
  ['f1', 'compare', 'compareAttribute' => 'f2', 'operator' => '<='],
]