2017-02-14 17 views
0

Ich habe ein Asp.Net MVC-Projekt. Ich versuche, eine E-Mail-Validierung für einen Editor zu machen.Email Validierung für HTML-Helfer - ASP.Net

Nach dem, was ich die Art und Weise erforscht habe [in dieser Antwort: How to apply input which has a type email to to HTML Helper in Asp.net MVC3 Razor und mehr ...] es zu tun ist, wie folgt aus:

@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control", @dir="ltr", @type = "email"} }) 

Das einzige Problem ist, dass dies so sicher macht, ich habe Dieses Muster: Name @ Gmail aber es stellt nicht sicher, dass es eine gibt. in der E-Mail-Adresse irgendwo nach der @ - [[email protected]].

irgendwelche Ideen über das, was ich tun kann? Dank

+0

Haben Sie [this] (http://stackoverflow.com/a/16690164/1663001) auf den Beitrag gelesen, den Sie verlinkt haben? – DavidG

+0

Entfernen Sie 'new {@type =" email "}' und fügen Sie das '[EmailAddress]' Attribut zu Ihrer Eigenschaft hinzu –

Antwort

0

diese Verwendung in Ihrem Modell wie folgt aus:

hinzufügen using System.ComponentModel.DataAnnotations;

[Display(Name = "Email Address")] 
     [EmailAddress] 
     [RegularExpression("^[_A-Za-z'`+-.]+([_A-Za-z0-9'+-.]+)*@([A-Za-z0-9-])+(\\.[A-Za-z0-9]+)*(\\.([A-Za-z]*){3,})$",ErrorMessage="Enter proper email")] 
     [Required] 
     [DataType(DataType.EmailAddress, ErrorMessage = "Format not proper of email address")] 
     public string Email { get; set; } 

Dies wird die E-Mail-Adresse bestätigen richtig ich dieses verwende.

+0

Ich habe versucht, was Sie sagten @Sorangwala, aber es gibt mir einen Fehler - im Muster, unter dem \ Zeichen Es gibt eine rote Linie und wenn ich den Mauszeiger darüber bewege, sagt es: ** Unerkannte Escape-Sequenz **. Wenn ich versuche, das Programm auszuführen, erhalte ich einen "Kompilierungsfehler" von: ** Unerkannte Escape-Sequenz **. – Anonymous