Domanda

Provo a specificare un intervallo da 4 a 13. Ma mantiene errori "il MaximumValue 13 non può essere inferiore al minimoValue 4 di Rangevalidator1."Come posso risolvere questo.Ecco il mio codice:


.
     <asp:TextBox ID="TextBox2" runat="server" ValidationGroup="Group1"></asp:TextBox>
     <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
                ControlToValidate="TextBox2" ErrorMessage="กรุณากรอก Password" ForeColor="Red" 
                ValidationGroup="Group1">*</asp:RequiredFieldValidator>
     <asp:RangeValidator ID="RangeValidator1" runat="server"
                ControlToValidate="TextBox2" 
                ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
                MaximumValue="13" MinimumValue="4" Type="String" EnableClientScript="false">*</asp:RangeValidator>
.

Questo è il codice nel pulsante:


.
    protected void Button2_Click1(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {

            }
            else
            {
                Insert();
            }
        }
        catch (Exception ex)
        {

        }
    }
.

Qualsiasi aiuto apprezzato.

È stato utile?

Soluzione

RangeValidator convalida il valore del controllo, non la lunghezza del valore.Per il confronto della stringa "13" è inferiore a "4", quindi si ottiene l'errore "MAX

È necessario utilizzare RegulaRexpressionValidator per controllare la lunghezza dell'ingresso:

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
            ControlToValidate="TextBox2" 
            ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
            ValidationExpression="^.{4,13}$" ValidationGroup="Group1" EnableClientScript="false">*</asp:RegularExpressionValidator>
.

Altri suggerimenti

Impostare il tipo Integer quando si utilizza RangeValidator per i valori di tipo Integer.

<asp:RangeValidator ID="RangeValidator1" runat="server"
                ControlToValidate="TextBox2" 
                ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
                MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*</asp:RangeValidator>
.

Ma sono sorpreso che tu stia usando RangeValidator con il campo Password.In questo caso stai limitando l'utente per mettere il valore tra 4-13. Probabilmente si vuole controllare la lunghezza dell'ingresso.Per questo utilizzi il validatore di espressione regolare.

<asp:RegularExpressionValidator ID="RegexVal" ValidationExpression="^.{4,13}$"  runat="server" ErrorMessage="Password must be 4-13 character long" ControlToValidate="TextBox2"  />
.

Il tipo di dati specificato che si controllò, attualmente, è impostato su String."4" è maggiore di "13", ecco perché si ottiene un tale errore.Cambia l'argomento del tipo nel controllo in numero intero e dovrebbe funzionare.

Il tipo dovrebbe essere intero piuttosto che stringa

<asp:RangeValidator ID="RangeValidator1" runat="server"
            ControlToValidate="TextBox2" 
            ErrorMessage="Password ต้องมีความยาวตั้งแต่ 4-13 ตัวอักษร" ForeColor="Red" 
            MaximumValue="13" MinimumValue="4" Type="Integer" EnableClientScript="false">*
</asp:RangeValidator>
.

Google ha tradotto il messaggio di errore qui sotto. La password deve essere composta da 4-13 caratteri.

pashapash 'risposta https://stackoverflow.com/a/21060857/263003 è il corretto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top