2016-12-09 12 views
0

ユーザーがpricemark値= otherを選択すると、フォームの価格と価格に2つのフィールドがあります。ユーザーは250未満の値を入力できません。yii2動いていない 。ここに私のコードです最小値を基準にしたYii2条件付き検証ルール

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

本当に機能しないのですか?あるいは、サーバー側で作業しているかもしれませんが、クライアント側で両方をしたいのですか? – Bizley

+0

現在は動作していませんが、私は主にサーバ側を探していますが、それがクライアント側でもうまく動作するようになったら、それは素晴らしいでしょう –

+0

これを明確にするために、サーバ側で動作しますか? – Bizley

答えて

0

はこれを試してみてください。

+0

ありがとう@ビズリー:) –

0

私は妥当性検査のために属性の種類を指定しませんでした。正しいコードが

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

が、私はそれを逃した価格属性の後integerを参照してくださいする必要があり、また、私は今も正常に動作しているクライアント側のコードを追加しました。 (モデル名がPriceである場合、すなわち#price_pricemark<field>は、そのクラス又はID等priceMark要素識別子である

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

関連する問題