private RuleValidatorContext<Contact, string> BuildContextForName(string propertyValue) { var contact = new Contact { FirstName = propertyValue }; var context = new RuleValidatorContext<Contact, string>(contact, "FirstName", contact.FirstName, null, null); return context; }
public void FindDescendents_IsValid() { var addressToFind = new Address() { City = "Gatlinburg" }; var primaryAddress = new Address(); var contact = new SpecExpress.Test.Domain.Entities.Contact() { FirstName = "Charles", LastName = "radar", Addresses = new List <Address>() { addressToFind }, PrimaryAddress = primaryAddress }; var allNotfication = ValidationCatalog.Validate <SpecExpress.Test.Domain.Specifications.ContactSpecification>(contact); var filteredNotfication = ValidationCatalog.Validate <SpecExpress.Test.Domain.Specifications.ContactSpecification>(contact) .FindDescendents(v => v.Target == addressToFind) .SelectMany(vr => vr.NestedValidationResults) .ToNotification(); Assert.That(filteredNotfication.IsValid, Is.False); }
public void When_MessageContainsParameters() { ValidationCatalog.AddSpecification<Contact>( spec => spec.Check(c => c.LastName).Required().EqualTo("Johnson")); //dummy data var contact = new Contact() { FirstName = "Joesph", LastName = "Smith" }; //Validate var valNot = ValidationCatalog.Validate(contact); Assert.That(valNot.Errors, Is.Not.Empty); Assert.That(valNot.Errors.First().Message, Is.EqualTo("Last Name must equal Johnson.")); }
public void When_WithMessageKeyIsSupplied_DefaultMessageIsOverridden() { //Add a rule ValidationCatalog.AddSpecification<Contact>(spec => spec.Check(c => c.LastName).Required(). LengthBetween(1, 3).With(m => m.MessageKey = "LengthBetween")); //dummy data var contact = new Contact() { FirstName = "Joesph", LastName = "Smith" }; //Validate var valNot = ValidationCatalog.Validate(contact); Assert.That(valNot.Errors, Is.Not.Empty); Assert.That(valNot.Errors.First().Message, Is.EqualTo("Last Name must be between 1 and 3 characters. You entered 5 characters.")); }
public void When_WithMessageIsSupplied_DefaultMessageIsOverridden() { var customMessage = "Dope! It's required!"; //Add a rule ValidationCatalog.AddSpecification<Contact>(spec => spec.Check(c => c.LastName).Required(). LengthBetween(1, 3).With(m => m.Message = "Too long {PropertyValue}")); //dummy data var contact = new Contact() { FirstName = "Joesph", LastName = "Smith"}; //Validate var valNot = ValidationCatalog.Validate(contact); Assert.That(valNot.Errors, Is.Not.Empty); Assert.That(valNot.Errors.First().Message, Is.EqualTo("Too long 5")); }
public void When_WithMessageIsSuppliedWithCustomPropetyValueFormat() { var customMessage = "Dope! It's required!"; //Add a rule ValidationCatalog.AddSpecification<Contact>( spec => spec.Check(c => c.DateOfBirth).Required() .IsInPast().With(m => { m.Message = "Date must be in the past. You entered {PropertyValue}."; m.FormatProperty = s => s.ToShortDateString(); })); //String.Format("{0} must be less than {1}", m.PropertyName, m.PropertyValue.ToString("mm/dd/yyyy")))); //dummy data var contact = new Contact() { FirstName = "Joesph", LastName = "Smith", DateOfBirth = System.DateTime.Now.AddYears(1) }; //Validate var valNot = ValidationCatalog.Validate(contact); Assert.That(valNot.Errors, Is.Not.Empty); Assert.That(valNot.Errors.First().Message, Is.EqualTo("Too long 5")); }
private bool IsValidName(Contact contact, string name) { return name.ToUpper() == "ISVALIDNAME"; }