Подтвердить что ты не робот

Проблема с сообщением о дате выборки jQuery

Я использую плагин jquery datepicker в http://plugins.jquery.com/project/datepick с плагином проверки даты.

<script id="frmValidation" type="text/javascript">

$(document).ready(function(){
    var validator = $("#frmTest").validate({
        rules:{
            fname: "required",
            dobPicker: "required" 
        },
        messages:{
            fname: "Please enter a name",
            dobPicker: "Select a date"
        },

    });
    $('#dobPicker').datepick();
    $.datepick.setDefaults({showOn: 'both', dateFormat: 'dd-mm-yy', yearRange:'1900:2010'});
});
</script>

И тело документа выглядит следующим образом:

<form id="frmTest" action="" method="post">
<div id="error-list"></div>
<div class="form-row">
<span class="label"><label for="fname">Name</label></span>
<input type="text" name="fname" />
</div>
<div class="form-row">
<span class="label"><label for="dobPicker">DOB</label></span>
<input type="text" id="dobPicker" name="dobPicker" style="margin-left: 4px;"/>
</div>
<div class="form-row">
<input type="submit" name="submit" value="submit"/>
</div>
</form>

Форма проверяет первый раз, но сообщение об ошибке для datepicker не исчезает сразу, когда выбрана дата. Однако она исчезает, если дата выбрана во второй раз. Любая помощь, чтобы сделать это в первый раз, когда выбрана дата, будет оценена.

4b9b3361

Ответ 1

Вы хотите установить это в настройках по умолчанию для датпикера:

onClose: function() {$(this).valid();},

Как только будет выбрана другая дата, он вернет плагин проверки правильности поля.

Ответ 2

"Лучший ответ" не сработал у меня. Я понял, что валидатор проверял формат даты, хотя я и не спрашивал об этом. Здесь мое решение:

$('form').validate(
    rules:
    {
        MyDateControl:{
            required:true,
            date:false
        }
    }
);