jQuery 유효성 검사 사용자 지정 메서드에 익숙해 지려고하고 있는데 조금 혼란스러워합니다. 왜 this.optional (요소) 내 사용자 지정 메서드 내에서 항상 false를 반환합니까? 여기 jQuery 유효성 검사 this.optional (element) always false
는 내 코드의 예는 다음과 같습니다<script type="text/javascript">
$(document).ready(function(){
$.validator.addMethod('customemethod', function(val, el){
return this.optional(el) || false;
}, 'custom method says its INVALID !');
$('#myform').validate({ignore: '*[ignore]'});
$('#validate').click(function(){
$('#result').text($('#myform').validate().form());
return false;
});
});
</script>
<form id="myform">
<div><input type="text" id="customfield" name="customfield" /></div>
<script type="text/javascript">
$(document).ready(function(){$('#customfield').rules('add', { required: true, customemethod: true }) });
</script>
<div><input type="text" id="customfield2" name="customfield2" /></div>
<script type="text/javascript">
$(document).ready(function(){$('#customfield2').rules('add', { required: false, customemethod: true }) });
</script>
<div id="result"></div>
<input id="validate" type="submit" />
</form>
경우 요소가 필요하지 않은 경우 그것은 값이없는 비어입니다 - 검증 방법이 호출되고 난,이 경우 true를 반환해야합니다. 그러나 this.optional (엘)은 항상 false입니다 :(
나는 그것을 해결할 수 있습니까? 내가 확인할 수있는 방법 요소가 필요 여부를 내부 사용자 정의 방법은? 감사합니다.