2
페이지의 다른 설정에 따라 javascript를 통해 표시되거나 숨겨지는 div (상위 1) 내에 라디오 버튼 집합이 있습니다.jQuery 유효성 검사 플러그인 오류 메시지가 표시되지 않습니다.
<div class="parent1">
<input type="radio" name="legal_14" id="legal_14a" value="1" class="legal_14"/> <label for="legal_14a">option 1</label><br/>
<input type="radio" name="legal_14" id="legal_14b" value="2" class="legal_14"/> <label for="legal_14b">option 2</label><br/>
<input type="radio" name="legal_14" id="legal_14c" value="3" class="legal_14"/> <label for="legal_14c">option 3</label><br/>
<span class="val-error"></span><br/>
</div>
라디오 버튼이 표시 될 때만 유효성을 검사하려고합니다. 그래서 내가 이렇게 같은이 상황을 처리 할 수있는 종속성 콜백이 있습니다
"legal_14": {
required: function() {if (!$('.parent1').is(':visible')) {console.log(false); return false;} else if ($("input[name='legal_14']:checked").length > 0) {console.log(false); return false;} else {console.log(true); return true;}}},
...
errorPlacement: function(error, element) {
element.nextAll(".val-error").first().html(error.html());
},
success: function(label) {
label.nextAll(".val-error").first().html();
}
그래서이 올바른 상황에서 오류 메시지를 표시하는 잘 작동합니다 (즉 버튼을 볼 수 있지만 클릭하지 않는 경우). 문제는 하나의 라디오 버튼을 선택하면 console.log가 false를 제대로 반환하지만 오류 메시지가 사라지지 않는다는 것입니다. 다른 곳에있는 비슷한 의존성 콜백을 가졌지 만 잘 작동하는 가시성에 의존하지 않습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
. 내 함수에서 올바른 반환 값을 얻었지만 오류 메시지를 지우지 않는 것 같습니다. –