Ich habe die unten benutzerdefinierte Daten Anmerkung Validierung in meinem Code für meine Textbereich hinzugefügt (erlauben nur gültige E-Mail-IDs)Benutzerdefinierte Daten Annotation nicht funktioniert
public class ValidateEmails : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value != null)
{
string[] commaLst = value.ToString().Split(',');
foreach (var item in commaLst)
{
try
{
System.Net.Mail.MailAddress email = new System.Net.Mail.MailAddress(item.ToString().Trim());
}
catch (Exception)
{
return new ValidationResult(ErrorMessage = "Please enter valid email IDs separated by commas;");
}
}
}
return ValidationResult.Success;
}
}
Modell:
public class BuildModel
{
public Int64 ConfigID { get; set; }
[Required(ErrorMessage = "Please select a stream!")]
public string StreamName { get; set; }
[Required(ErrorMessage = "Please select a build location!")]
public string BuildLocation { get; set; }
public string Type { get; set; }
public bool IsCoverity { get; set; }
[ValidateEmails(ErrorMessage = "NOT VALID !!!")]
public string EmailIDsForCoverity { get; set; }
}
Wenn ich meine App ausführen und eine ungültige Zeichenfolge in den Textbereich eingeben, trifft der Haltepunkt innerhalb der Überprüfung. Aber die Submission-Aktion läuft weiter.
Eigentlich habe ich eine Bootstrap-Modalform, innerhalb der ich die Validierung mache. Mit einem Klick auf die Schaltfläche "Absenden" funktionieren die integrierten benutzerdefinierten Validierungen wie "Erforderlich". Meine benutzerdefinierte Annotationsvalidierung funktioniert jedoch nicht. Was falsch mache ich hier?
Sie 'Model.IsValid' in Ihrer Aktion sind die Überprüfung? – DavidG
können Sie 'RegularExpression'-Validatoren für diese und Regex für diese Komma-getrennte Validierung verwenden' (([a-zA-Z0-9 _ \ - \.] +) @ (([[0-9] {1,3 } \. [0-9] {1,3} \. [0-9] {1,3} \.) | (([A-zA-Z0-9 \ -] + \.) +)) ([a-zA-Z] {2,4} | [0-9] {1,3}) (\]?) (\ s *; \ s * | \ s * $)) * 'bitte überprüfen Sie [ diese Antwort] (https://stackoverflow.com/a/9809636/2534646) für weitere Informationen – Curiousdev
Ihr Attribut muss 'IClientValidatable' implementieren und Sie müssen die Skripte schreiben, um die Regeln zu dem' $ .validator' hinzuzufügen, wenn Sie möchte clientseitige Validierung. –