[英]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.