0

我正在尝试为我的项目制作 Yii 表单。

在一个页面上,它应该是 CActiveForm 和我自己的自定义 HTML 代码以及我的控件,这些代码使用我的自定义 JavaScript 进行验证和提交。

该表单将通过 AJAX 提交,否则我需要记住并恢复我的控件的值(否则用户输入会在提交失败时丢失),这是我不想做的。所以AJAX。

什么是正确的 CActiveForm 选项来检查活动表单的有效性,调用我自己的验证代码,并且只有在一切都有效的情况下才提交?

到目前为止,我已经编写了以下代码:

  <?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'合同更新表格',
    'enableAjaxValidation'=>真,
        'clientOptions'=>array('validateOnSubmit'=>true),
        'htmlOptions'=>array('onsubmit'=>'return on_submit();'),
  )); ?>

但它两次调用我的验证,导致 alert() 和我的错误消息两次。为什么?以及如何纠正?

4

1 回答 1

0

您应该尝试afterValidate选项:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'contract-update-form',
    'enableAjaxValidation'=>true,
    'clientOptions'=>array(
        'validateOnSubmit'=>true,
        'afterValidate'=>'js:on_submit',
    ),
)); ?>

http://www.yiiframework.com/doc/api/1.1/CActiveForm#clientOptions-detail

于 2013-10-28T08:11:40.920 回答