2011-09-19 5 views
3

유효성 검사 플러그인을 사용하는 나의 문제점은 원격 호출과 관련이 있습니다.jQuery 원격 유효성 확인 도움말

직원 ID가 db에서 유효한지 원격 확인합니다. 유효한 경우 직원 정보 (이름, 성, 감독자 이름 및 시설 이름)가있는 json 문자열을 반환합니다.

완전한 : function을 사용하여 json 문자열을 반환하면 문제가 발생합니다. empid 필드는 오류 클래스와 함께 유효하지 않으며 모든 것이 유효하더라도 양식을 제출할 수 없습니다. 원격 호출에서 true를 반환하는 경우 empID 필드가 유효하며 양식이 제출됩니다 (다른 필드가 완료되었다고 가정).

json 콜백에 remote : call이 true로 설정되어야하는 특정 매개 변수가 있습니까? 이 문제를 해결하는 방법에 관해서는 분실되었으므로 어떤 도움을 주시면 감사하겠습니다! 관련 코드는 아래를 참조하십시오.

$string[status] = 'true'; 
    $string[fName] = ucwords(strtolower($row['empFirstName'])); 
    $string[lName] = ucwords(strtolower($row['empLastName'])); 
    $string[supervisorFName] = $superFName; 
    $string[supervisorLName] = $superLName; 
    $string[facilityName] = $facilityName; 
} 
$response = json_encode($string); 
echo $response; 
} else { 
$response = json_encode($valid); 
echo $response; 
} 
+0

코드는 어느 정도 나옵니까? 전체 메서드가 호출 되었습니까? 성공 == '사실'입니까? – BNL

+0

p.s. 내 원격 유효성 검사 메서드는 문자열 "true"또는 "false"no json을 반환합니다. – BNL

+0

코드는 json return에서 반환 된 데이터를 채우기에 충분하지만 empID 필드는 유효하지 않습니다. json과의 원격 호출이 원격을 완료하지 못하거나 원격 호출이 검사를 완료하기 위해 찾고있는 "실제"값을 얻지 못하는 것 같습니다. – Brian

답변

2

발리 코드 자체에 추가 :

if ($.isFunction(param.validateResult)) response = param.validateResult(response); 

http://plugins.jquery.com/content/custom-function-handle-returned-data-remote-function가 제대로 유효성을 확인하고 제출로, 매우 잘 작동하도록 표시되는 사이트에서

   var ajax_data = new Object; 
      $('#vpnRequest').validate({ 
       rules: { 
        empID: { 
         //required: true, 
         //minlength: 4, 
         remote: { 
          url: "checkEmpID.php", 
          dataFilter: function(data) { ajax_data = data; return data;}, 
          complete: function() { 
           var jsonObj = new Object; 
           jsonObj = jQuery.parseJSON(ajax_data); 
           var success = jsonObj.status; 
           if(success == 'false'){ 
            //return success; 
           }else if(success == 'true'){ 
            $('#fName').val(jsonObj.fName); 
            $('#lName').val(jsonObj.lName); 
            $('#superName').val(jsonObj.supervisorFName+" "+jsonObj.supervisorLName); 
            $('#facilityName').val(jsonObj.facilityName); 
            $('#empID').addClass('stuff'); 
            $('#empID').removeClass('stuff'); 
            //return success; 
           } 
          } 
         } 
        } 
       }, 
       messages: { 
        empID:{ 
         required: "This field is required", 
         remote: "Invalid Employee ID" 
        } 
       } 
      }); 

PHP 파일 검사기를 EMPID 형태. 누구든지 더 좋을 프린지 케이스를 보장하기 위해 더 테스트하고 싶다면이 기능을 확장하기 위해 유효성 검사기 플러그인에 확실히 추가해야합니다.