1

yii ブートストラップ ajax フォームを検証するためのスニペットを共有し、エラーと有効なフィールドを強調表示したいと思います。フォームは検証を無効にする必要があります。

4

2 に答える 2

3

yii ブートストラップ ajax フォームを検証するためのスニペットを共有し、エラーと有効なフィールドを強調表示したいと思います。フォームは検証を無効にする必要があります。

形:

    $form = $this -> beginWidget('bootstrap.widgets.TbActiveForm', array(
        'id' => 'user-time-form',
        'type' => 'horizontal',
));

送信ボタン:

$this -> widget('bootstrap.widgets.TbButton', array(
            'buttonType' => 'ajaxSubmit',
            'icon' => 'ok',
            'url' => Yii::app() -> createUrl('hr/userTime/create'),
            'label' => 'Submit',
            'ajaxOptions' => array('success' => 'function(data){
                    var obj = $.parseJSON(data);
                    if(obj.status=="success"){
                        $("#newUserTime").modal("hide");
                        setTimeout(function(){location.reload(true);},400);
                    } else {
                        $("#userTime-form-error-div").show();
                        $("#userTime-form-error-div").html("");
                        var $inputs = $("#user-time-form :input");
                        $inputs.each(function() {
                            $(this).removeClass("error");
                            $(this).closest(\'div[class^="control-group"]\').addClass("success validating");
                        });
                        for (var p in obj) {
                            if(document.getElementById(p)) {
                                $("#"+p).closest(\'div[class^="control-group"]\').removeClass("success");
                                $("#"+p).closest(\'div[class^="control-group"]\').addClass("error");
                            }
                            $("#userTime-form-error-div").append(obj[p]  + "<br/>");
                        }
                    }
                }'),
    ));
于 2013-02-08T10:03:51.930 に答える
0

このパラメーターを TbActiveForm に追加します

'enableAjaxValidation'=>true,
于 2013-08-06T02:30:41.590 に答える