繁体   English   中英

基于最小值的Yii2条件验证规则

[英]Yii2 conditional validation rule on basis of minimum value

当用户选择价格标记值= other用户不能输入小于250的值时,我以价格标记和价格的形式有2个字段。我需要在yii2对其进行验证的规则,但该规则无效。 这是我的代码

        ['price', 'min' => 250, 'when' => function ($model) {
            return $model->priceMark == 'other';
        }],

愚蠢的我,我没有指定验证的属性类型。 正确的代码应该是

        ['price', 'integer', 'min' => 250, 'when' => function ($model) {
            return $model->priceMark == 'other';
        }, 'whenClient' => "function (attribute, value) {
            return $('#uploadform-pricemark').val() == 'other';
        }"],

在价格属性后看到integer ,我错过了它,还添加了客户端代码,现在也可以正常工作。

尝试这个:

['price', 'number', 'min' => 250, 'when' => function ($model) {
    return $model->priceMark == 'other';
}, 'whenClient' => 'function (attribute, value) {
    return $("<field>").val() == "other";
}'],

其中, <field>priceMark元素标识符,例如其类或ID(即,如果模型名称为Price #price_pricemark )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM