2017-02-20 4 views
1

Я добавил datepicker из jquery-ui. Проблема в том, что если пользователь не выбирает дату из datepicker, он также может записать дату своего рождения в поле даты. Теперь, если я хочу, если кто-то заполнит поле даты неправильной датой, поле автоматически станет пустым и даст ему сообщение, чтобы написать действительную дату. Как я могу это сделать?Как проверить дату, указанную пользователем как дату рождения в jquery?

Коды приведены ниже

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Untitled Document</title> 

<link rel="stylesheet" href="css/jquery_ui.css"> 

<script src="js/jquery.js"></script> 
<script src="js/jquery_ui.js"></script> 
<script src="js/datepicker.js"></script> 

</head> 

<body> 

<p>Date: <input type="text" id="datepicker" /></p> 

</body> 
</html> 


//This is datepicker.js file 

$(function() { 
    $("#datepicker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     yearRange: "c-200:c+200", 
     dateFormat: 'yy-mm-dd', 
     maxDate: 0 
    }); 
}); 
+0

Возможно, проще всего сделать ввод только для чтения, и пользователь всегда выбирает дату из сборщика. –

+0

Это может помочь: http://stackoverflow.com/questions/19820257/javascript-date-validation-dd-mm-yyyy-age-checking – Rajesh

+0

Проверьте это: http://formvalidation.io/examples/jquery-ui- datepicker/ – Ruby

ответ

0

Вы можете использовать JQuery Validation см следующее:

<!doctype html> 
 
<html> 
 
<head> 
 
<link rel="stylesheet" href="https://jqueryvalidation.org/files/demo/site-demos.css"> 
 
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 
 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/jquery.validate.min.js"></script> 
 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script> 
 

 
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" /> 
 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 

 
</head> 
 

 
<body> 
 
    <form id="myform"> 
 
    <p>Date: <input type="text" name="datepicker" id="datepicker" /></p> 
 
    <input type="submit" /> 
 
    </form> 
 
</body> 
 
    <script> 
 
    
 
$(function() { 
 
    $("#datepicker").datepicker({ 
 
     changeMonth: true, 
 
     changeYear: true, 
 
     yearRange: "c-200:c+200", 
 
     dateFormat: 'yy-mm-dd', 
 
     maxDate: 0 
 
    }); 
 
}); 
 
    
 
// just for the demos, avoids form submit 
 
jQuery.validator.setDefaults({ 
 
    debug: true, 
 
    success: "valid" 
 
}); 
 
    
 
$("#myform").validate({ 
 
    rules: { 
 
    datepicker: { 
 
     required: true, 
 
     date: true 
 
    } 
 
    } 
 
}) 
 
    </script> 
 
</html>

Я надеюсь, что это поможет вам, до свидания.

+0

Но проблема в том, что этот код не обнаруживает 31 февраля 31 ноября как недопустимые даты. Пользователь получит отметку, если он напишет 2017-02-31 в качестве даты его рождения. –