public virtual bool Validate(out ValidationError errors) { ValidationError error = ValidationError.New(); if (string.IsNullOrWhiteSpace(FirstName)) { error.AddError(nameof(FirstName), $"First Name is required"); } if (string.IsNullOrWhiteSpace(LastName)) { error.AddError(nameof(LastName), $"Last Name is required"); } if (!string.IsNullOrWhiteSpace(Email) && Email.Count(e => e == '@') != 1) { error.AddError(nameof(Email), "Invalid Email Format"); } if (error.HasError) { errors = error; return(false); } errors = null; return(true); }
public async Task It_Returns_Validation_Errors_When_Request_Is_Invalid() { var validationError = new ValidationError(); validationError.AddError("Name", "Required."); validationError.AddError("Email", "Required."); mediatorSpy.Response = Result.Fail <object>(validationError); var response = await controller.Update(Guid.NewGuid(), request) as UnprocessableEntityObjectResult; var content = response.Value as InvalidEnvelope; Assert.Equal(422, response.StatusCode); Assert.True(content.Errors.ContainsKey("name")); Assert.True(content.Errors.ContainsKey("name")); }
public bool Validate(out ValidationError error) { ValidationError errors = ValidationError.New(); if (UserId == null) { errors.AddError(nameof(UserId), $"{nameof(UserId)} is required"); } if (Date == DateTime.MinValue || Date == DateTime.MaxValue) { errors.AddError(nameof(Date), $"{nameof(Date)} must be a valid date"); } error = errors.HasError ? errors : null; return(!errors.HasError); }
public async Task It_Returns_Validation_Errors_When_Request_Is_Invalid() { var validationError = new ValidationError(); validationError.AddError("NumberOfCourses", "Required."); validationError.AddError("EnrolledIn", "Required."); mediatorSpy.Response = Result.Fail <List <StudentDto> >(validationError); var response = await controller.Get(null, null) as UnprocessableEntityObjectResult; var content = response.Value as InvalidEnvelope; Assert.Equal(422, response.StatusCode); Assert.True(content.Errors.ContainsKey("numberOfCourses")); Assert.True(content.Errors.ContainsKey("enrolledIn")); }
public async Task It_Returns_Validation_Errors_When_Request_Is_Invalid() { var validationError = new ValidationError(); validationError.AddError("StudentId", "Required."); validationError.AddError("FromCourseId", "Required."); validationError.AddError("ToCourseId", "Required."); validationError.AddError("Grade", "Required."); mediatorSpy.Response = Result.Fail <object>(validationError); var response = await controller.Transfer(Guid.NewGuid(), request) as UnprocessableEntityObjectResult; var content = response.Value as InvalidEnvelope; Assert.Equal(422, response.StatusCode); Assert.True(content.Errors.ContainsKey("studentId")); Assert.True(content.Errors.ContainsKey("fromCourseId")); Assert.True(content.Errors.ContainsKey("toCourseId")); Assert.True(content.Errors.ContainsKey("grade")); }
public bool Validate(out ValidationError error) { ValidationError errors = ValidationError.New(); if (string.IsNullOrWhiteSpace(FirstName)) { errors.AddError(nameof(FirstName), $"First Name is required"); } if (string.IsNullOrWhiteSpace(LastName)) { errors.AddError(nameof(LastName), $"Last Name is required"); } if (string.IsNullOrWhiteSpace(Email)) { errors.AddError(nameof(Email), "Email is required"); } if (!string.IsNullOrWhiteSpace(Email) && Email.Count(e => e == '@') != 1) { errors.AddError(nameof(Email), "Invalid Email Format"); } if (string.IsNullOrWhiteSpace(Password)) { errors.AddError(nameof(Password), $"Password is required"); } if (string.IsNullOrWhiteSpace(Password2)) { errors.AddError(nameof(Password2), $"Password is required"); } if (Password != null && Password2 != null && !Password.Equals(Password2)) { errors.AddError(nameof(Password2), "Passwords must match"); } if (errors.HasError) { error = errors; return(false); } error = null; return(true); }
public bool Validate(out ValidationError errors) { ValidationError error = ValidationError.New(); if (string.IsNullOrWhiteSpace(OldPassword) && string.IsNullOrWhiteSpace(ResetCode)) { error.AddError(nameof(OldPassword), $"Old Password or Reset Code is required"); error.AddError(nameof(ResetCode), "Reset Code or Old Password is required"); } if (!Guid.TryParse(UserId, out Guid userGuid)) { error.AddError(nameof(UserId), "UserId is not in correct format"); } if (userGuid == null || userGuid == Guid.Empty) { error.AddError(nameof(UserId), "UserId is required"); } if (string.IsNullOrWhiteSpace(NewPassword)) { error.AddError(nameof(NewPassword), $"New Password is required"); } if (string.IsNullOrWhiteSpace(NewPassword2)) { error.AddError(nameof(NewPassword2), $"New Password 2 is required"); } if (!NewPassword.Equals(NewPassword2)) { error.AddError(nameof(NewPassword2), $"Passwords must match"); } if (error.HasError) { errors = error; return(false); } errors = null; return(true); }