проверка даты - PullRequest
       46

проверка даты

7 голосов
/ 12 июля 2010

как мы использовали проверку данных на asp.net?дата не может быть вставлена ​​больше текущей даты.

Ответы [ 4 ]

2 голосов
/ 12 июля 2010

Используйте CompareValidator . Большинство людей используют это для сравнения двух значений, введенных в два текстовых поля, но вы также можете использовать его для сравнения одного введенного значения с заданным значением, как в вашем случае.

  <asp:CompareValidator id="Compare1" 
       ControlToValidate="TextBox1"
       Type="Date"
       runat="server"/>

В коде позади набора Compare1.ValueToCompare = new DateTime(...); и Compare1.Operator = ValidationCompareOperator.LessThanEqual;

Кроме того, помните: Вы всегда должны проверять на сервере , а также на клиенте, потому что проверка на стороне клиента легко отключить или пропустить. Я бы посоветовал вам взглянуть на Свободное подтверждение для этого.

1 голос
/ 12 июля 2010

В 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 года.

1 голос
/ 12 июля 2010

Воспользуйтесь CustomValidator, чтобы решить ваши проблемы легко.

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");
  }
0 голосов
/ 12 июля 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"/>
...