我在尝试在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,我的表单仍然被提交。 有什么方法可以解决这个问题吗?
感谢。
答案 0 :(得分:4)
你可能正确的方式。但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/
答案 1 :(得分:2)
试试这个:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'my-form',
'enableClientValidation' => true,
'htmlOptions' => array('enctype' => 'multipart/form-data'),
));
?>
我在clientOptions
中看到你没有做任何具体的事情。所以刚刚删除。并且您不必自己包含jquery,据我所知,yii会在需要时自动包含它(我想这里是activeform需要的)。
您可以查看此url
答案 2 :(得分:0)
解决。 刚删除
<?php
Yii::app()->clientScript
->registerCoreScript('jquery');
?>
答案 3 :(得分:0)
'enableClientValidation'=>true,
'clientOptions' => array('validateOnSubmit'=>true),