Waf.InformationManager.EmailClient.Modules.Domain.Emails.Email.Validate C# (CSharp) Method

Validate() public method

public Validate ( System.ComponentModel.DataAnnotations.ValidationContext validationContext ) : IEnumerable
validationContext System.ComponentModel.DataAnnotations.ValidationContext
return IEnumerable
        public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
        {
            var validationResults = new List<ValidationResult>();
            
            foreach (string email in To) { ValidateEmail(validationResults, email, nameof(To), "To"); }
            foreach (string email in CC) { ValidateEmail(validationResults, email, nameof(CC), "CC"); }
            foreach (string email in Bcc) { ValidateEmail(validationResults, email, nameof(Bcc), "BCC"); }

            if (!To.Any() && !CC.Any() && !Bcc.Any())
            {
                validationResults.Add(new ValidationResult("This email doesn't define a recipient.", new[] { nameof(To), nameof(CC), nameof(Bcc) }));
            }

            return validationResults;
        }

Usage Example

Esempio n. 1
0
        public void ValidateTest()
        {
            var longText = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";
            var email = new Email();

            Assert.AreEqual("", email.Validate(nameof(Email.Title)));
            email.Title = longText;
            Assert.AreEqual("The field Title must be a string with a maximum length of 255.", email.Validate(nameof(Email.Title)));
            email.Title = "";

            Assert.AreEqual("", email.Validate(nameof(Email.From)));
            email.From = longText;
            Assert.AreEqual("The field From must be a string with a maximum length of 255.", email.Validate(nameof(Email.From)));
            email.From = "";

            Assert.AreEqual("This email doesn't define a recipient.", email.Validate());
            
            email.To = new[] { "wrong email address" };
            email.CC = email.To;
            email.Bcc = email.To;
            Assert.AreEqual("The email wrong email address in the To field is not valid." + Environment.NewLine 
                + "The email wrong email address in the CC field is not valid." + Environment.NewLine
                + "The email wrong email address in the BCC field is not valid.", email.Validate());

            email.To = new[] { "*****@*****.**" };
            email.CC = email.To;
            email.Bcc = email.To;
            Assert.AreEqual("", email.Validate());
        }