【发布时间】:2016-10-22 07:11:48
【问题描述】:
我正在尝试对属性account_no 使用条件验证。只有当我在属性account_version 中选择值“旧”时,它才应该被验证。但它不起作用。我得到的错误是newalso 需要验证。我应该改用 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 } ?>
【问题讨论】:
标签: validation yii yii2 conditional