0

私の要件は、アプリ名が既に使用されているか、Ajax を使用していないかを確認することです。私はそれらのことを達成しました.jquery検証にそれらを追加する予定でした. add メソッドを使用して追加しましたが、応答がある場合はfalseメッセージが表示されます

アプリ名が存在します

エラーメッセージ。また、応答があるtrue場合は、エラー メッセージも表示されます。

これが私のコードです:

$(document).ready(function ()
          {
              function isAppNameExists() {
                  document.getElementById('imgLoad').style.display = "inline-table";
                  var appName =$("#txtAppName").val();//document.getElementById("txtAppName").value;

                    var tenantID =1;//document.getElementById("txttenantId").value;
                    if(window.XMLHttpRequest){
                        xmlhttp=new XMLHttpRequest();
                    } else {
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    xmlhttp.onreadystatechange=function() {
                        if(xmlhttp.readyState==4 && xmlhttp.status==200){
                            if(xmlhttp.responseText == "true"){                 // App name already used 
                                    document.getElementById('imgLoad').style.display = "none";   
                                 return false;
                            } else {
                                document.getElementById('imgLoad').style.display = "none";   
                                return true;
                        }
                      }
                    }
                    xmlhttp.open("GET","ApplicationController?appNameCheck=createApp&appName="+appName+"&tenantId="+tenantID+"",true);
                    xmlhttp.send();
                  }


            $.validator.addMethod("appNameExistsValidation", function() {
                    return isAppNameExists();
            }, "Application name already exists");



              $('#storeAppCreation').validate( 
              {
                  rules:
                  {
                         appNameExistsValidation:true

                  }
             }

});
4

1 に答える 1

1

検証フレームワークによって提供されるリモートオプションを使用できます。

$(document).ready(function() {
    var tenantID =1;//document.getElementById("txttenantId").value;
    $('#storeAppCreation').validate({
        rules : {
            txtAppName: {
                remote : {
                    url : "ApplicationController",
                    type : "GET",
                    data : {
                        appNameCheck : 'createApp',
                        appName : function() {
                            return $("#txtAppName").val()
                        },
                        tenantId : tenantID
                    }
                }
            }

        }
    })

});
于 2013-04-29T05:09:34.193 に答える