У меня есть один Datepicker, и из-за того, что пользователи могут писать недопустимые символы в текстовое поле, я хочу иметь проверку даты.DatePicker Validation JQuery Как проверить
Вот моя форма:
@using (Html.BeginForm("Action", "Controller", FormMethod.Post))
{
@Html.TextBox("txtDate", txtDate, "{0:dd.MM.yyyy}", new { @class = "date", id = "txtDate" })
<input type="submit" id="btnSubmit" value="Getir" />
}
Первый вопрос: Мой приходит как «дд.мм.гггг», но в этом сценарии кода речь идет, как «мм/дд/гггг». Как я могу отформатировать этот код сценария наподобие «dd.MM.yyyy»?
Второй вопрос: Если моя проверка даты неверна, как я могу отключить кнопку, чтобы отправить?
Вот код сценария и its link.
$(function() {
$('#btnSubmit').bind('click', function(){
var txtVal = $('#txtDate').val();
if(isDate(txtVal))
alert('Valid Date');
else
alert('Invalid Date');
});
function isDate(txtDate)
{
var currVal = txtDate;
if(currVal == '')
return false;
var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/; //Declare Regex
var dtArray = currVal.match(rxDatePattern); // is format OK?
if (dtArray == null)
return false;
//Checks for mm/dd/yyyy format.
dtMonth = dtArray[1];
dtDay= dtArray[3];
dtYear = dtArray[5];
if (dtMonth < 1 || dtMonth > 12)
return false;
else if (dtDay < 1 || dtDay> 31)
return false;
else if ((dtMonth==4 || dtMonth==6 || dtMonth==9 || dtMonth==11) && dtDay ==31)
return false;
else if (dtMonth == 2)
{
var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
if (dtDay> 29 || (dtDay ==29 && !isleap))
return false;
}
return true;
}
});
спасибо за ваш ответ, но я все еще могу нажать кнопку, когда тип неправильный. моя дата-тип: {0: ДД.ММ.ГГГГ} я пытаюсь преобразовать ваши так: dtDay = dtArray [1]; dtMonth = dtArray [3]; dtYear = dtArray [5]; Это правда? – ispanak
И мое значение txtDate происходит от такого контроллера: txtDate = {14.8.2014 19:27:26}. Есть идеи? – ispanak
Я решил проблемы с датами. , когда я пытаюсь установить значение для моей кнопки datepicker (true format), по-прежнему не работает. когда я типа с ручкой кнопки работает. – ispanak