Я пытаюсь познакомиться с пользовательскими методами проверки jQuery и, похоже, немного запутался. почему this.optional (element) внутри моего пользовательского метода всегда возвращает 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 (el) всегда ложно: (
Как я могу решить это? Как я могу проверить, если элемент требуется или нет внутри пользовательского метода?
Спасибо.