2014-11-25 3 views
0

텍스트 상자 외에 유효성 검사 오류가 표시됩니다. 값 -1은 오류를 표시하고 값 0은 암호가 맞는지 경고합니다. 사용자가 처음으로 잘못된 암호를 입력하면 유효성 검사 오류가 표시됩니다.텍스트 상자 이외의 유효성 검사 오류

그러나 두 번째 입력이 잘못되면 유효성 검사 오류가 표시되지 않습니다. 콘솔에 값을 기록 할 때 오류 값 (-1)이 표시되지만 유효성 검사 메시지가 표시되지 않습니다. 내 코드에 무슨 문제가 있는지 알 수가 없었다.

if else 문을 사용하고 있습니다. 전문가가이 문제의 원인이 무엇인지 지적 할 수 있습니까?

var clearFields = function() { 
    $('#current_pwd').val(''); 
    $('#new_pwd').val(''); 
    $('#retype_pwd').val(''); 

    $('#current_label').html(''); 
    $('#new_label').html(''); 
    $('#retype_label').html(''); 

    $('#current_label').prop('hidden',true); 
    $('#new_label').prop('hidden',true); 
    $('#retype_label').prop('hidden',true); 
    } 
    var changePassword = function() { 
    var $result = {}; 
     $.ajax({ 
      url: "users/resetpwd", 
      type: "POST", 
      async: false, 
      data: $("#changePasswordID").serialize(), 
      success: function(result) { 
       $result = $.parseJSON(result); 
      } 
     }); 
    console.log($result["ret"]); 


    if($result["ret"] == -1) { 
     $result["ret"] == -1; 
     $('#current_label').html($result["curr_msg"]); 
     $('#new_label').html($result["new_msg"]); 
     $('#retype_label').html($result["ret_msg"]); 

     $('#current_label').prop('hidden',false); 
     $('#new_label').prop('hidden',false); 
     $('#retype_label').prop('hidden',false); 
     alert('Password does not match.');   

    } else if($result["ret"] == 0) { 

     $('#current_label').prop('hidden',true); 
     $('#new_label').prop('hidden',true); 
     $('#retype_label').prop('hidden',true); 
     alert('Password Changed.'); 
     clearFields(); 
    }; 
    }; 
+0

문자열에'$ result [ "ret"]'를 설정하지 않았 으면 확인하십시오. –

+0

문자열로 설정하지 않습니다. 내 컨트롤러에서는 다음과 같이 설정했습니다. $ return_ret = -1; 가능한 경우 – lizzie288

+0

피들을 추가하거나 더 많은 정보를 제공하십시오. –

답변

0

유효성 검사를 시작할 때 카운터를 기본값으로 재설정하십시오. 그런 다음 유효성 검사가 실행되면 사용자 입력에 따라 카운터가 -1 또는 0으로 변경됩니다. 그게 작동하는지 확인하십시오.

+0

나는 당신의 충고를 시도하지만 여전히 효과가 없습니다. 오류가 발생하면 알려주려고했지만 그 중 하나가 나옵니다. 왜 단지 검증이 나오지 않을지 궁금해. – lizzie288

관련 문제