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