我在尝试对 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),