/// <summary> /// Constructs a ValidationException based on NHibernate.Validator InvalidValue objects. /// </summary> /// <param name="errors">The errors received from NHibernate.Validator</param> /// <returns>A ValidationException or null if there are no errors</returns> public static ValidationException ToValidationException(this InvalidValue[] errors) { if (null != errors && errors.Length > 0) { ValidationException ex = new ValidationException(); foreach (InvalidValue val in errors) { ex.Errors.Add(val.PropertyName, val.Message); } return ex; } return null; }
public void ShouldCopyAllErrors() { // arrange NameValueCollection nvc = new NameValueCollection(); nvc.Add("Email", "Invalid"); nvc.Add("Email", "Mising"); nvc.Add("Password", "Mising"); ValidationException ex = new ValidationException { Errors = nvc }; ModelStateDictionary modelState = new ModelStateDictionary(); // act ex.ToModelErrors(modelState, null); // assert Assert.AreEqual(2, modelState["Email"].Errors.Count); Assert.AreEqual(1, modelState["Password"].Errors.Count); }
public void ShouldCopyAllErrorsWithPrefix() { // arrange NameValueCollection nvc = new NameValueCollection(); nvc.Add("Email", "Invalid"); nvc.Add("Email", "Mising"); nvc.Add("Password", "Mising"); ValidationException ex = new ValidationException { Errors = nvc }; ModelStateDictionary modelState = new ModelStateDictionary(); // act ex.ToModelErrors(modelState, "credentials"); // assert Assert.IsFalse(modelState.ContainsKey("Email")); Assert.IsFalse(modelState.ContainsKey("Password")); Assert.AreEqual(2, modelState["credentials.Email"].Errors.Count); Assert.AreEqual(1, modelState["credentials.Password"].Errors.Count); }