dongliu5475 2014-07-18 08:53
浏览 29

CActioveform enableClientValidation不起作用

I have one form with activated clientValidation, but the JS code to validate the form has not been registered by Yii.

My form code is here:

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
        'id' => 'login-form',
        'enableClientValidation' => true,
        'clientOptions' => array(
            'validateOnSubmit' => true,
            'afterValidate' => 'js:function(form, data, hasError) {
                if (!hasError){ 
                    str = $("#login-form").serialize() + "&ajax=login-form";

                    $.ajax({
                        type: "POST",
                            url: "' . Yii::app()->createUrl('/') . '",
                            data: str,
                            dataType: "json",
                            beforeSend : function() {
                                $("#login").attr("disabled",true);
                            },
                            success: function(data, status) {
                                if (data.authenticated) {
                                    window.location = data.redirectUrl;
                                } else {
                                    $.each(data, function(key, value) {
                                        var div = "#"+key+"_em_";
                                        $(div).text(value);
                                        $(div).show();
                                    });
                                    $("#login").attr("disabled",false);
                                }
                            },
                    });
                    return false;
                }
            }',
        ),
    ));

    echo $form->textField($model, 'username');
    echo $form->passwordField($model, 'password');
    echo TbHtml::submitButton('Login', ['id' => 'login']);
    $this->endWidget();

The registered JS code is only this:

<script type="text/javascript">
/*<![CDATA[*/
jQuery('body').popover({'selector':'a[rel=popover]'});
jQuery('body').tooltip({'selector':'a[rel=tooltip]'});
/*]]>*/
</script>

I don't see, why its not working. Please help me to find the bug. The code is from this blog post: http://tahiryasin.wordpress.com/2013/05/23/ajax-based-yii-login-form/

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 微信会员卡接入微信支付商户号收款
    • ¥15 如何获取烟草零售终端数据
    • ¥15 数学建模招标中位数问题
    • ¥15 phython路径名过长报错 不知道什么问题
    • ¥15 深度学习中模型转换该怎么实现
    • ¥15 HLs设计手写数字识别程序编译通不过
    • ¥15 Stata外部命令安装问题求帮助!
    • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
    • ¥15 TYPCE母转母,插入认方向
    • ¥15 如何用python向钉钉机器人发送可以放大的图片?