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

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

7
задан Daniel Dyson 12 July 2010 в 07:37
поделиться

4 ответа

Используйте 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");
  }
1
ответ дан 7 December 2019 в 14:28
поделиться

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

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

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

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

2
ответ дан 7 December 2019 в 14:28
поделиться

В решении 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
ответ дан 7 December 2019 в 14:28
поделиться

Хорошая дата, приятель. Есть много вариантов. Вы можете использовать пользовательский контроль валидатора 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"/>
0
ответ дан 7 December 2019 в 14:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: