проверка jQuery this.optional (элемент) всегда ложь

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

Как я могу решить его? Как я могу проверить, требуется ли элемент или не в пользовательском методе?Спасибо.

6
задан Maxim Krizhanovsky 22 May 2012 в 13:45
поделиться