8
votes

Validation de la zone de texte pour une longueur minimale

     <asp:RequiredFieldValidator ID="NewPasswordRequired" runat="server" ControlToValidate="NewPassword" 
ErrorMessage="New Password is required." ToolTip="New Password is required." ValidationGroup="ChangeUserPasswordValidationGroup">
 </asp:RequiredFieldValidator>
How can I validate the text box to enter a value which length should be more than 8 and must contain 1 number and 1 uppercase letter.

0 commentaires

4 Réponses :


2
votes

Je voudrais utiliser deux validateurs: le lenghtvalidator et le regularexpressionvalidator .

L'avantage d'avoir deux validateurs est que vous pouvez avoir deux messages d'erreur.


1 commentaires

lenghtvalidator ? Je ne le vois pas dans Liste des contrôles de validation de Microsoft ?



4
votes

En plus de votre requisFieldValidator Ajoutez un regularexpressionValidator

Pour le motif de regex, vous pouvez utiliser ce motif: xxx p> doit être au moins 8 caractères Doit contenir au moins une seule lettre minuscule, une lettre majuscule, un chiffre et un caractère spécial Les caractères spéciaux valides sont - @ #%% ^ & + =

Techniquement, vous pouvez utiliser uniquement le validateur Regex, mais utiliser des multiples vous permet d'avoir des messages d'erreur différentes en fonction d'un mot de passe manquant et tout simplement incorrect.


1 commentaires

Oui, vous devez utiliser plusieurs validateurs. Voici le mien pour la longueur seule: ^ [\ s \ s] {6,} $



6
votes
<asp:RegularExpressionValidator ID="RegExp1" runat="server"    
ErrorMessage="Password length must be between 7 to 10 characters"
ControlToValidate="txtPassword"
ValidationExpression="^[a-zA-Z0-9'@&#.\s]{7,10}$" />

0 commentaires

3
votes

Vous devez utiliser deux validateurs distincts, un pour vérifier la longueur et l'autre pour vérifier les caractères requis minimum (de cette façon, vous obtenez deux messages d'erreur distincts pour chaque chèque).

Exemple: P>

<asp:RegularExpressionValidator Display="Dynamic" ControlToValidate="MyPasswordField" ID="MyPassordRequiredCharacterValidator" ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@#$%^&?,;:_|~{}=\+\-\!\.\*\(\)\[\] ]).+$" runat="server" ErrorMessage="Must contain at least one uppercase letter, one lowercase letter, one number, and one special character."></asp:RegularExpressionValidator>


0 commentaires