我有以下代码在我的视图文件:
<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墙。如果我留下语言单选按钮未选中,它应该显示验证错误。因此,我在News模型中创建了以下验证规则:
public function rules()
{
...
return array(
array('language', 'ext.YiiConditionalValidator.YiiConditionalValidator',
'if' => array(array('fb, twitter, telegram', 'compare', 'compareValue' => 1)),
'then' => array(
array('language', 'required'),
),),
然而,它不工作。为什么?
请在每个显示错误信息的复选框后添加以下行。
<?php echo $form->error($model,'fb'); ?>
<?php echo $form->error($model,'twitter'); ?>
<?php echo $form->error($model,'telegram'); ?>