我的视图文件中有以下代码:
<div class="form-group snetwork">
<h3>Post to Social Network Wall</h3>
<label>Choose Social Networks:</label>
<div class="row">
<ul class="social_items">
<li><span class="label label-info"><?php echo $form->checkbox($model, 'fb')?> Facebook</span></li>
<li><span class="label label-warning"><?php echo $form->checkbox($model, 'twitter')?> Twitter</span></li>
<li><span class="label label-success"><?php echo $form->checkbox($model, 'telegram')?> Telegram</span></li>
</ul>
</div>
<label>Choose Language:</label>
<div class="row">
<?= $form->radioButtonList($model, 'language', $model->getLan('language'), array(
'template' => '<div class="radio " style="float: left; padding-right: 10px; padding-left: 30px">{input}{label}</div>',
'separator' => '', 'uncheckValue'=>null,
)); ?>
<?php echo $form->error($model,'language'); ?>
</div>
</div>
案例如下:当我创建一个新帖子并勾选社交网络复选框和语言单选按钮时,它应该使用指定的语言将新闻发布到Facebook墙上。如果我将语言单选按钮保持未选中状态,则应显示验证错误。因此,我在新闻模型中创建了以下验证规则:
public function rules()
{
...
return array(
array('language', 'ext.YiiConditionalValidator.YiiConditionalValidator',
'if' => array(array('fb, twitter, telegram', 'compare', 'compareValue' => 1)),
'then' => array(
array('language', 'required'),
),),
但是,它不起作用。为什么呢?
答案 0 :(得分:0)
请在每个复选框后面添加以下行以显示错误消息。
<?php echo $form->error($model,'fb'); ?>
<?php echo $form->error($model,'twitter'); ?>
<?php echo $form->error($model,'telegram'); ?>