属性account_no
で条件付き検証を使用しようとしています。属性account_version
で値 'old'を選択した場合にのみ検証する必要があります。しかし、それは動作していません。私が得ているエラーはnew
でも検証が必要です。私は、モデル内の無線ボックスでのYii2条件付き検証
私のコードを検証する代わりにJavaScriptを使用する必要があり
return [
['account_no', 'required', 'when' => function($model) {
return $model->account_version == 'Old';
}],
]
形で私のコード
<?php if ($model->isNewRecord) {?>
<div class="row">
<div class="col-md-2">
<label for="">Account Version</label>
</div>
<div class="col-md-2">
<?php echo $form->field($model, 'account_version')->radioList(['New'=>'New','Old'=>'Old'])->label(false); ?>
</div>
<div id="action_block" class="col-md-6">
<div class="col-md-3">
<label for="">Account No:</label>
</div>
<div class="col-md-3">
<?= $form->field($model, 'account_no')->textInput(['maxlength' => true])->label(false) ?>
</div>
</div>
</div>
<?php } ?>
また、私はまだyii2検証として機能していないことを追加します。ラジオボックスにyii2の条件付き検証に関する問題があるようです。 [これを参照](https://github.com/yiisoft/yii2/issues/7496) – gojiraki
@gojiraki。 Yii 2.0.7で問題が解決され、最新バージョンでは条件付き検証に問題はありません。 Ajaxでうまく動作します。 –
@InsaneSkullテキスト入力ではうまくいくと思うが、ラジオボックスではまだ問題がある。あなたは私にその出来事を教えてくれますか? – gojiraki