我有2个字段的格式价格和价格,当用户选择pricemark值= other
时,用户无法输入小于250的值。我需要yii2
中的验证规则,但是不工作这是我的代码
['price', 'min' => 250, 'when' => function ($model) {
return $model->priceMark == 'other';
}],
答案 0 :(得分:0)
愚蠢的我,我没有指定验证的属性类型。正确的代码应该是
['price', 'integer', 'min' => 250, 'when' => function ($model) {
return $model->priceMark == 'other';
}, 'whenClient' => "function (attribute, value) {
return $('#uploadform-pricemark').val() == 'other';
}"],
在我错过了价格属性之后看到integer
,我也添加了客户端代码,现在也正常工作。
,
答案 1 :(得分:0)
试试这个:
['price', 'number', 'min' => 250, 'when' => function ($model) {
return $model->priceMark == 'other';
}, 'whenClient' => 'function (attribute, value) {
return $("<field>").val() == "other";
}'],
其中<field>
是priceMark
元素标识符,例如其类或ID(如果型号名称为#price_pricemark
,则为Price
)。