2014-10-21 3 views
0

현재 로그인 양식을 작성 중이며 클라이언트 측에서 유효성 검사가 통과하지 않을 때 필요한 기능을 개발하려고합니다.오류 배치가있는 jQuery 유효성 검사

이것은 로그인 양식의 유효성을 검사하기 전에 렌더링 한 현재 HTML입니다. div 클래스 입력 그룹 다음에 오류를 배치하고 싶습니다. 대신 여전히 폼 컨트롤 뒤에 배치됩니다.

<div class="input-group mb15"> 
    <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> 
    <input type="text" class="form-control" placeholder="Email Address" name="email_address"> 
</div><!-- input-group --> 
<div class="input-group mb15"> 
    <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> 
    <input type="password" class="form-control" placeholder="Password" name="password"> 
</div><!-- input-group --> 

jQuery를 검증 프로세스

$("#login-form").validate({  
    highlight: function(element) { 
     $(element).closest('.input-group').removeClass('has-success').addClass('has-error'); 
    }, 
    errorPlacement: function(error, element) { 
     error.appendTo(element.parent('.input-group')); 
    }  
}); 

답변

0

플러그인을 만든 다음 자동으로 오류 label을 전환, 그래서 이것에 대한 appendTo()를 사용하지 마십시오. 또한 append은 의 안에 label을 추가합니다. 이는 input 요소 바로 다음과 정확히 동일한 위치에 배치합니다.

기본값 인 insertAfter()을 그대로 유지하고 jQuery 선택기를 조정하십시오.

errorPlacement: function(error, element) { 
    error.insertAfter(element.parent('.input-group')); 
} 

당신이 어떤 CSS 문제가 표시되는 경우

는, 다음은 가능성이 highlight를 사용할 때 unhighlight 콜백 함수를 구현하는 실패에 관련이.

$("#login-form").validate({  
    highlight: function(element) { 
     $(element).closest('.input-group').removeClass('has-success').addClass('has-error'); 
    }, 
    unhighlight: function(element) { 
     $(element).closest('.input-group').addClass('has-success').removeClass('has-error'); 
    }, 
    errorPlacement: function(error, element) { 
     error.insertAfter(element.parent('.input-group')); 
    }  
}); 
+0

나는 이것을 알아 냈어야합니다. 고맙습니다. – user3732216

+0

유일한 문제는 오류의 기본 CSS에서 벗어나는 것입니다. 나는 그 줄의 끝에 CSS를 추가해야 하는가? 아니면 나는 다른 단에서 그것을 처리해야만 하는가? – user3732216

+0

@ user3732216, "기본 CSS 제거"가 무슨 뜻인지 확실하지 않습니다. 'errorPlacement' 콜백은 에러 요소가 놓이는 곳에 만 영향을 미칩니다. 오류의 기본 CSS는 여전히 요소 및 메시지에 적용됩니다. – Sparky

관련 문제