Yii 防止表单提交客户端验证



我在尝试对 yii 1.1.12 进行客户端验证时遇到问题。我有以下

<?php
Yii::app()->clientScript
        ->registerCoreScript('jquery');
?>
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'my-form',
    'enableClientValidation' => true,
        'clientOptions'=> array('validateOnSubmit'=>true,
                                 'afterValidate'=>'js:function() 
                                        {     
                                           return false
                                        }'
                                ),
        'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); 
?>

即使在验证后使用 false 返回,我的表单仍在提交。有什么办法可以解决这个问题吗?

谢谢。

你可能走对了路。但是 Yii 客户端验证还取决于你在表单中显示的错误。如果使用CHtml::error()方法显示错误,则不会发生该变量客户端验证。我不能说你在用什么,因为你没有发布任何代码。因此,请尝试使用$form->error()方法。如果您仍然面临问题,请告诉我。

另请查看下面给出的链接。

<?php
Yii::app()->clientScript
        ->registerCoreScript('jquery');
?>
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'my-form',
    'enableClientValidation' => true,
    'clientOptions'=> array('validateOnSubmit'=>true),
    'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); 
?>

http://www.waytoblogger.com/blog/technical/yii/yii-client-side-validation/

试试这个:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'my-form',
    'enableClientValidation' => true,
    'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); 
?>

我看到clientOptions你没有做任何具体的事情。所以刚刚删除。而且你不必自己包含jquery,据我所知,yii在需要时会自动包含它(这里活动形式需要,我猜)。你可以看看这个url

Solved。 刚刚删除

<?php
Yii::app()->clientScript
        ->registerCoreScript('jquery');
?>
'enableClientValidation'=>true,
 'clientOptions' => array('validateOnSubmit'=>true),

最新更新