Frage

würde Ich mag die Textbox für einen bestimmten Text validieren und es darf nicht leer sein. Aber der reguläre Ausdruck Validator ist die Validierung nicht, ob das Textfeld BLANK . Allerdings bestätigt er, wenn ich etwas in dem Textfeld eingeben.

Wie kann ich regulären Ausdruck Trigger machen, selbst wenn das Textfeld leer ist?

Sollte ich Required Validator + Regex Validator zur gleichen Zeit? Danke.

<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>
War es hilfreich?

Lösung

würde ich in der Regel tun, wie Sie vorschlagen und haben einen erforderlichen Validator auch. Dies würde ermöglichen es Ihnen, eine andere Botschaft für jede Regel haben.

Eine weitere Möglichkeit, dass ich auf einen beliebigen Web-Entwickler aussehen würde empfehlen, ist die JQuery Validierung Plugin. Wenn Sie dies mit Fluent Validation kombinieren, können Sie alle Ihre Validierungsregeln für Ihre Business-Objekte an einem Ort halten und Sie können auf der Client-Seite zu validieren und auf dem Server die gleichen Regeln.

JQuery Validation

Fluent Validation

Andere Tipps

Sie sollten Ihre RegularExpressionValidator mit einem RequiredFieldValidator kombinieren.

Wenn entweder versagt wird es blockiert aufgrund Validierung Brennen. Jeder dient einem Zweck und der Zweck der RegularExpressionValidator ist eingegebenen Text nicht den Mangel an Text zu überprüfen.

Wenn Sie das alles in einem Validator tun wollen Ihr könnte die CustomValidator und Set ValidateEmptyText='true' verwenden. Dann könnten Sie den Javascript-Regex verwenden, um die Kontrolle zu tun. Ich würde die beiden Validatoren empfiehlt allerdings, da dies zu einem Standardansatz ist.

Sie sollten verwenden beide zur gleichen Zeit. Nicht einen Validation Fehler zurückgegeben, wenn der Wert leer ist, gemeinsam mit der ASP.NET Validierungssteuer. Sie werden das gleiche Verhalten von der Validation-Attribute im System.ComponentModel.DataAnnotations Namensraum sehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top