【问题标题】:yii ajax validation errors show upyii ajax 验证错误出现
【发布时间】:2012-12-11 00:07:16
【问题描述】:

我有以下表格:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
            'id'=>'new-agenda-entry',
            'enableAjaxValidation'=>true,
            'action'=>'')); ?>
        <div class="four columns">
            <div class="right top5 sufix10">
                <?php echo $form->labelEx($model,'eventTime'); ?>
                <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                'name'=>'UserAgenda[eventTime]',
                'model'=>$model,
                'options'=>array(
                    'dateFormat'=>'yy-mm-dd',
                    'minDate'=>'new Date()',
                ) // jquery plugin options
            ));?>
            <?php echo $form->error($model, 'eventTime'); ?>
            </div>
            <div class="right top5 sufix10">
                <?php echo CHtml::dropdownList('eventTime_hour', false, $this->getHourArray()); ?>
                <?php echo CHtml::dropdownList('eventTime_min', false, array('00'=>'00', '30'=>'30')); ?>
            </div>
        <?php echo $form->labelEx($model,'note'); ?>
        <?php echo $form->textField($model, 'note');?>
        <?php echo $form->error($model, 'note'); ?>

模型在服务器上成功验证,我可以在 Firebug 中看到响应:

{"UserAgenda_eventTime":["Event time cannot be blank."],"UserAgenda_note":["Note cannot be blank."]}

消息看起来不错,html 也是如此,但 yii 生成的隐藏输入仍然隐藏且为空。

【问题讨论】:

  • 确保正在验证的参数在模型规则中是安全的
  • 你会查看你的模型规则。但是,由于您可以在 Firebug 中看到错误消息,因此您的规则似乎已经包含这些参数,因此请忽略我最初的评论。我错了,这与你的规则无关。

标签: ajax validation yii


【解决方案1】:

在操作中可能(创建或更新)你必须取消注释// $this-&gt;performAjaxValidation($model); 这样你有一个 ajax 验证,如果问题仍然存在,我认为将它发布到 yii 论坛中的 yiibootstrap 讨论我更好,我看到你使用 yiibootstrap ,用默认的 yii 表单小部件试试吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2015-07-21
    相关资源
    最近更新 更多