как мы использовали подтверждение правильности данных на asp.net? дата не может быть вставкой, больше, чем текущая дата.
Используйте 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");
}
Используйте CompareValidator . Большинство людей используют это для сравнения двух значений, введенных в два текстовых поля, но вы также можете использовать его для сравнения одного введенного значения с установленным значением, как в вашем случае.
<asp:CompareValidator id="Compare1"
ControlToValidate="TextBox1"
Type="Date"
runat="server"/>
В коде за набором Compare1.ValueToCompare = new DateTime (...);
и Compare1.Operator = ValidationCompareOperator.LessThanEqual;
Также помните: Вы должны всегда проверяйте на сервере , а также на клиенте, потому что проверку на стороне клиента легко отключить или обойти. Я бы посоветовал вам взглянуть на Fluent validation для этого.
В решении 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 года.
Хорошая дата, приятель. Есть много вариантов. Вы можете использовать пользовательский контроль валидатора asp.net, javascript и т.д. Лучшим вариантом будет использование AJAX control toolkit's masked edit extender with masked edit validator. Вы можете указать диапазоны, пользовательскую маску (yyyy/MM/dd) и даже сообщение о пустом поле.
Просто убедитесь, что вы правильно установили культуру вашего сайта, чтобы можно было правильно валидировать даты. 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"/>