簡體   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