【问题标题】:YII ajax validation: The error message doesnt appear afer ajax validationYII ajax 验证:ajax 验证后不出现错误信息
【发布时间】:2026-02-01 13:25:02
【问题描述】:

我在表单中有 2 个字段(num1 和 num2),其中表单变量的总和输入到数据库中(总和),这是必需的。还有一些其他必填字段。

array('summ ', 'required'),

换句话说,为了获得这个变量,我需要其中的两个字段(num1 和 num2)。如果没有 ajaxom 验证,我通过以下方式解决了这个问题:

if($_POST['num1'] && $_POST['num2']) {
    $model->sum = $_POST['num1'] + $_POST['num2'];
} else {
    $model->sum='';
}

这是表单部分的代码:

<?php echo $form->labelEx($model, 'bithday', array('class' => 'label_register')); ?>
<input name="num1" type="text" value="">
<input name="num2" type="text" value="">
<?php echo $form->error($model, 'bithday'); ?>

转发ajax请求后,响应包含错误信息。但是错误没有出现。尽管其他必填字段的错误正确显示。 响应以 json 的形式出现,带有键和值。 (此处包含有关此错误的数据) 如何解决这个问题呢? .

【问题讨论】:

    标签: ajax forms validation yii


    【解决方案1】:

    像这样使用 Yii 文本字段:

    <?php echo $form->labelEx($model, 'num1', array('class' => 'label_register'));
    <?php echo $form->textField($model,'num1'); ?>
    <?php echo $form->error($model, 'num1'); ?>
    
    <?php echo $form->labelEx($model, 'num2', array('class' => 'label_register'));
    <?php echo $form->textField($model,'num2'); ?>
    <?php echo $form->error($model, 'num2'); ?>
    

    并将属性 $num1 和 $num2 添加到您的模型中。

    【讨论】: