2016-07-25 4 views
-1

jquery에서 사용자 지정 유효성 검사를 수행해야하며 이름 텍스트 상자와 제출 단추가 있습니다. 고유 한 이름에 대한 유효성 검사가 필요합니다. 나는 아래에 기존 이름의 배열을 내가 만든 규칙입니다. 이하 사용자 지정 유효성 검사 Jquery

var tempArray = ['john','rob','smith']; 

$.validator.addMethod('uniqueName', function (value, element) { 
    return $.inArray(value, tempArray) > -1; 
}, "Name already exists, Please Enter a Unqiue Name."); 

JQuery와

형태

<form id='frmValidate'> 
<input type='text' name='username'> 
<input type='button' value='submit'> 

</form> 

이다

$(document).ready(function() { 

$('#frmValidate').validate({ // initialize the plugin 
    rules: { 
     username: { 
      required : true 
     } 
    }, 
    submitHandler: function (form) { // for demo 
     alert('valid form submitted'); // for demo 
     return false; // for demo 
    } 
}); 

});

양식을 규칙에 적용하는 방법을 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다. 죄송합니다. 바보 같은 질문 인 경우 ...

답변

0
I found it thank you. 

    var tempArray = ['john','rob','smith']; 

    $.validator.addMethod('uniqueName', function (value, element) { 
     return !$.inArray(value, tempArray) > -1; 
    }, "Name already exists, Please Enter a Unqiue Name."); 


    $(document).ready(function() { 

    $('#frmValidate').validate({ // initialize the plugin 
    rules: { 
     username: { 
      required : true, 
      uniqueName : true 
     } 
    }, 
    submitHandler: function (form) { // for demo 
     alert('valid form submitted'); // for demo 
     return false; // for demo 
    } 
    }); 
0

submitHandler()에서 할 수있는 것은 username을 매개 변수로 사용하여 ajax 요청을 보낼 수 있다는 것입니다. 이 아약스 요청은 사용자 이름이 이미 사용되었는지 여부를 확인할 수있는 서버의 URL을 조회합니다. 이미 취해진 경우 적절한 메시지를 보여 주거나 그렇지 않으면 양식을 제출하십시오.

$('#frmValidate').validate({ // initialize the plugin 
    rules: { 
     username: { 
      required : true 
     } 
    }, 
    submitHandler: function (form) { // for demo 
     alert('valid form submitted. Now checking for unique username'); // for demo 
     var username = $("#username").val(); 
     $("#pageloader").fadeIn(); 
     $.ajax({ 
     url: '/admin/ajax_check_username_availability', 
     data: {'username': username}, 
     dataType: 'json', 
     success: function(response)}{ 
      if(response.status == 1) 
      { 
       form.submit(); 
      } 
      else 
      { 
       $("#pageloader").fadeOut(); 
       alert("'" + username+ "' is already taken. Please try something else."); 
      } 
     } 
    } 
}); 
관련 문제