Ich möchte, dies zu tun in der Lage:Validieren eine E-Mail-String in .net mit EmailAddressAttribute, aber nicht auf einem Attribut
string email = "[email protected]";
bool isValid = IsValidEmail(email);
//returns true
... aber die Logik Microsoft hat uns bereits EmailAddressAttribute in gegeben verwenden .
Es gibt Hunderte von guten und schlechten Implementierungen von IsValidEmail da draußen, und ich möchte nicht meine eigenen hinzufügen, wenn ich etwas verwenden kann, hat Microsoft bereits darüber nachgedacht. Es liegt nahe, dass sie einen besseren Job machen als ich.
In den letzten ASP.Net Versionen, haben wir System.ComponentModel.DataAnnotations, die uns mit der ausgezeichneten EmailAddressAttribute bietet, die uns unsere Modelle wie diese dekorieren lässt:
public class SomeModel
{
[EmailAddress]
public string Email { get; set; }
}
Die class is sealed, so kann ich nicht nennen EmailAddressAttribute.IsValid()
Gibt es eine gute Möglichkeit, die ich nutzen kann, was Microsoft bereits getan hat? Gibt es irgendwo im .NET-Framework eine Methode, mit der ich Zeichenketten auf Datenanmerkungen prüfen kann, die ich übersehen habe?
Etwas nach dem Vorbild von ..:
var emailChecker = new DataAnnotationsChecker<EmailAddressAttribute>();
string email = "[email protected]";
bool isValid = emailChecker.IsValid(email);
//returns true
Wenn Sie können sich nicht vorstellen, warum ich das wollen würde, denken Sie an eine Liste bekommen und wollen, welche überprüfen gelten E-Mails.
fein Ich habe geschworen hätte, ich habe bereits versucht, dass ... Aber natürlich tut dies in der Tat der Arbeit. Ich fühle mich jetzt albern. Vielen Dank. :) – Kjensen
Ich bin froh zu helfen. (damit du dich nicht albern fühlst) :) – Nkosi
Eine ernsthafte Frage hier: Warum ist das nicht die anerkannte/akzeptierte Methode zum Überprüfen von E-Mail-Adressen in .Net? Microsoft wird E-Mail-Validierung besser als jeder von uns tun. –