Question

Je voudrais valider la zone de texte pour le texte spécifique et il ne doit pas être vide. Mais le validateur d'expression régulière ne valide pas si la zone de texte est BLANK . Cependant, il valide si je tape quelque chose dans la zone de texte.

Comment puis-je faire expression régulière pour déclencher même si la zone de texte est vide?

Dois-je utiliser Required Validator + Regex Validator en même temps? Merci.

<asp:TextBox ID="txtcard" runat="server" MaxLength="16"></asp:TextBox>

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" 
ControlToValidate="txtcard" ErrorMessage="Please type credit card no" 
ValidationExpression="^\d{16}$"></asp:RegularExpressionValidator>
Était-ce utile?

La solution

Je généralement pas comme vous le suggérez et un validateur également nécessaire. Cela vous permettra d'avoir un message différent pour chaque règle.

Une autre option que je recommanderais à tout look développeur web à validation est le plugin JQuery. Si vous combinez cela avec validation Fluent, vous pouvez garder toutes vos règles de validation pour vos objets métier en un seul endroit et vous pouvez valider sur le côté client et au serveur en utilisant ces mêmes règles.

JQuery Validation

Courant de validation

Autres conseils

Vous devriez combiner votre RegularExpressionValidator avec un RequiredFieldValidator.

En cas de défaillance, il bloque en raison de tir de validation. Chacun a un but et le but de RegularExpressionValidator est de valider le texte entré ne l'absence de texte.

Si vous voulez le faire tout en un validateur votre pourrait utiliser le CustomValidator et ValidateEmptyText='true' ensemble. Ensuite, vous pouvez utiliser le javascript regex pour faire la vérification. Je recommande les deux validateurs bien que ce soit une approche standard.

Vous devriez utiliser les deux en même temps. Pas une erreur de validation de retour si la valeur est vide est commun avec les contrôles de validation ASP.NET. Vous verrez le même comportement de la validation des attributs dans l'espace de noms System.ComponentModel.DataAnnotations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top