2016-10-05 3 views
-2

Ich möchte SMTP-Host und Port validieren. Bitte lassen Sie mich wissen, wie kann ich das tun? Ich möchte smtp.gmail.com oder smtp-mail.outlook.com. Aber jetzt erlaubt mein Code auch Nummern.Wie kann ich SMTP-Host in asp.net MVC validieren?

public int Smtp_Id{ get; set; } 

[Display(Name="Mail From")] 
[Required(ErrorMessage = "Please enter senders mail address.")] 
[EmailAddress(ErrorMessage = "Invalid Email Address")] 
public string Smtp_mailfrom { get; set; } 

[Display(Name = "SMTP Host")] 
[Required(ErrorMessage = "Please enter host name.")]  
public string Smtp_Host { get; set; } 

[Display(Name = "User Name")] 
[Required(ErrorMessage = "Please enter username.")] 
[MaxLength(50,ErrorMessage="Username Should not be more than 50 charachters.")] 
public string Smtp_username { get; set; } 

[Display(Name = "Password")] 
[MaxLength(50, ErrorMessage = "Password Should not be more than 50 charachters.")] 
[Required(ErrorMessage = "Please enter password.")] 
public string Smtp_password { get; set; } 

[Display(Name = "SMTP Port")] 
[Required(ErrorMessage = "Please enter Port.")] 
public int Smtp_Port { get; set; } 
+1

Mögliches Duplikat [mvc4 url ​​Validierung] (http://stackoverflow.com/questions/15249105/mvc4-url-validation) - Es ist nicht genau das gleiche Problem, aber die Antwort hat einen Link zu einer Verlängerung das würde dir bei deinem Problem helfen. – mtaanquist

+0

Nein Herr Rory Das ist nur für URL, aber hier brauche ich Validierung für SMTP-Host & Port –

Antwort

0

Für den Hostnamen müssen Sie einen regulären Ausdruck verwenden und für den Port no benötigen Sie etwas Brauchbares, wie es unten für Sie hilfreich ist.

[Display(Name = "SMTP Host")] 
    [Required(ErrorMessage = "Please enter host name.")] 
    [RegularExpression("smtp.gmail.com|smtp-mail.outlook.com")] 
    public string Smtp_Host { get; set; } 


    [Display(Name = "SMTP Port")] 
    [Required(ErrorMessage = "Please enter Port.")] 
    [RegularExpression("([1-9][0-9]*)", ErrorMessage = "Count must be a natural number")] 
    [Range(1, 9999, ErrorMessage = "Port no must between 1 to 9999")]  
    public int Smtp_Port { get; set; } 
+0

Vielen Dank Herr Pragnesh Ich werde diesen Code in meiner Anwendung morgen versuchen. Dann werde ich Feedback geben. Aber deine Regex wird nur Gmail & Outlook Host validieren. Wenn ich andere verwenden möchte dann ?? –

+0

Haben Sie eine Liste dieser gültigen Hosts? Wenn ja, fügen Sie einfach eine Annotation für RegularExpression-Daten hinzu. Angenommen, es handelt sich um eine dynamische Liste, müssen Sie eine benutzerdefinierte Datenanmerkung hinzufügen. –

+0

Vielen Dank Herr Pragnesh Ich brauche noch eine Hilfe .. Können Sie mir sagen, wie kann ich ein Byte-Array zu Localstorage in MVC-Anwendung speichern. Eigentlich möchte ich ein Bild lokal speichern. Cookie erlaubt nur 4 KB Daten. wenn ich Daten wie 500 kb oder 1 MB speichern möchte, dann ??? –

Verwandte Themen