Проверка даты
Как мы использовали проверку данных на asp.net? дата не может быть вставлена больше текущей даты.
4 ответа
Используйте CompareValidator. Большинство людей используют это для сравнения двух значений, введенных в два текстовых поля, но вы также можете использовать его для сравнения одного введенного значения с установленным значением, как в вашем случае.
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
Type="Date"
runat="server"/>
В коде позади множества Compare1.ValueToCompare = new DateTime(...);
а также Compare1.Operator = ValidationCompareOperator.LessThanEqual;
Кроме того, помните: вы должны всегда проверять на сервере, а также на клиенте, потому что проверка на стороне клиента легко отключить или пропустить. Я бы посоветовал вам взглянуть на Беглое подтверждение для этого.
В решении JavaScript,
Убедитесь, что для часов, минут, секунд и миллисекунд установлено значение 0, если вы просто хотите сравнить даты (т.е. день, месяц и год). Функция для достижения вышеупомянутого заключается в следующем,
function f_tcalResetTime (d_date) {
d_date.setHours(0);
d_date.setMinutes(0);
d_date.setSeconds(0);
d_date.setMilliseconds(0);
return d_date;
}
Если вы сравниваете даты, JavaScript на самом деле вызывает функцию date.valueOf за кулисами, которая возвращает количество миллисекунд, прошедших с полуночи 1 января 1970 года.
Использовать CustomValidator
решит ваши проблемы легко.
или же
Вы можете использовать JavaScript для проверки вашей даты, как показано ниже
var myDate=new Date();
myDate.setFullYear(2010,0,14);
var today = new Date();
if (myDate>today)
{
alert("Today is before 14th January 2010");
}
else
{
alert("Today is after 14th January 2010");
}
Хорошее свидание приятель. Есть много доступных вариантов. Вы можете использовать пользовательский элемент управления валидатора asp.net, javascript и т. Д. Лучшим вариантом будет использование расширителя редактирования маскируемого набора инструментов управления AJAX с средством проверки маскируемого редактирования. Вы можете указать диапазоны, пользовательскую маску (гггг / мм / дд) и даже пустое поле сообщения с этим.
Просто убедитесь, что вы правильно настроили культуру своего веб-сайта, чтобы правильно проверять даты. http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MaskedEdit/MaskedEdit.aspx
Приветствия.
<ajaxToolkit:MaskedEditValidator
ControlExtender="MaskedEditExtender2"
ControlToValidate="TextBox2"
IsValidEmpty="False"
MaximumValue="12000"
EmptyValueMessage="Number is required"
InvalidValueMessage="Number is invalid"
MaximumValueMessage="Number > 12000"
MinimumValueMessage="Number < -100"
MinimumValue="-100"
EmptyValueBlurredText="*"
InvalidValueBlurredMessage="*"
MaximumValueBlurredMessage="*"
MinimumValueBlurredText="*"
Display="Dynamic"
TooltipMessage="Input a number: -100 up to 12.000"/>