Domanda

Vorrei convalidare la casella di testo per testo specifico e non deve essere vuoto. Ma l'espressione regolare validatore non sta convalidando se la casella di testo è BLANK . Tuttavia, esso convalida se digito qualcosa nella casella di testo.

Come posso fare un'espressione regolare per innescare anche se la casella di testo è vuota?

uso dovrebbe ho richiesto Validator + Regex Validator allo stesso tempo? Grazie.

<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>
È stato utile?

Soluzione

Io in genere fare come lei suggerisce e hanno un validatore richiesto pure. Ciò consentirebbe di avere un messaggio diverso per ogni regola.

Un'altra opzione che mi sento di raccomandare qualsiasi look sviluppatore web presso il JQuery convalida plugin. Se si combina questo con Fluent convalida, è possibile mantenere tutte le regole di convalida per gli oggetti di business in un posto e si può validare sul lato client e sul server utilizzando le stesse regole.

JQuery convalida

perfetto convalida

Altri suggerimenti

Si dovrebbe combinare il tuo RegularExpressionValidator con un RequiredFieldValidator.

Se uno viene a mancare si blocca a causa di cottura convalida. Ognuno ha uno scopo e lo scopo del RegularExpressionValidator è quello di validare il testo immesso non la mancanza di testo.

Se si vuole fare tutto in un validatore vostra potrebbe utilizzare il CustomValidator e set ValidateEmptyText='true'. Allora si potrebbe utilizzare l'espressione regolare javascript per fare il controllo. Vorrei raccomandare i due validatori anche se, come questo è un approccio standard.

Si dovrebbe usare entrambi allo stesso tempo. Non ha restituito un errore di convalida, se il valore è vuoto è comune con i controlli di convalida ASP.NET. Si vedrà lo stesso comportamento da attributi di convalida nel namespace System.ComponentModel.DataAnnotations.

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