Вопрос

Я установил DrangedAteValidator в коде, как показано ниже, и хотя я ввожу правильное значение, такое как 11/11/1990, он все еще вызывает ошибку проверки.

public void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        DOBRangeValidator.MinimumValue = DateTime.Now.AddYears(-100).ToString("dd/MM/yyyy");
        DOBRangeValidator.MaximumValue = DateTime.Now.AddYears(-12).ToString("dd/MM/yyyy");  
    }
}

Ниже приведена страница .NET

<asp:TableRow>
      <asp:TableCell>
      <asp:Label ID="DOBLabel" runat="server" AssociatedControlID="DOBTextBox" Text="Date of Birth:"/>
      </asp:TableCell><asp:TableCell>
      <asp:TextBox ID="DOBTextBox" runat="server" Height="25px" Width="200px" Text="dd/mm/yyyy"/>
      </asp:TableCell><asp:TableCell>
      <asp:RequiredFieldValidator ID="DOBRequired" runat="server" 
            ControlToValidate="DOBTextBox" InitialValue="dd/mm/yyyy" ErrorMessage="Date of birth is required." 
            ToolTip="Date of birth is required." Display="Dynamic" ValidationGroup="RegistrationForm"/>

      <asp:RangeValidator ID="DOBRangeValidator" ControlToValidate="DOBTextBox" runat="server" ErrorMessage="Please enter your correct DOB (Must be over 12)" ValidationGroup="RegistrationForm"/>

      </asp:TableCell></asp:TableRow><asp:TableRow>
Это было полезно?

Решение

Вам необходимо установить тип диапазона Validator на сегодняшний день, иначе он проведет сравнение строк

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top