[英]Yii Prevent Form Submit on client side validation
我在尝试在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'),
));
?>
即使在验证后使用return 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会在需要时自动包括它(我想这里是activeform要求)。 您可以看一下这个网址
解决了。 刚刚删除
<?php
Yii::app()->clientScript
->registerCoreScript('jquery');
?>
'enableClientValidation'=>true,
'clientOptions' => array('validateOnSubmit'=>true),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.