Un errore quando si specifica l'intervallo per il rangevalidator
-
26-12-2019 - |
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.
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