public void SerializerInvalidModel_AssertJsonSerializationException() { var m = new InvalidModel(); var result = Converter.Serialize(m); Assert.True(result.HasValidationErrors); Assert.Equal("Invalid URI: The format of the URI could not be determined.", result.ValidationErrors[1]); }
private StringContent CreateInvalidModel(bool isChildValid) { var model = new InvalidModel() { Name = (isChildValid ? "Valid Name" : null) }; return(new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json")); }
public void TestModelWithInvalidTypeShouldThrow() { var model = new InvalidModel { Identity = "identity", InvalidIdentity = 1, }; Assert.Throws <NotSupportedException>( () => Handle(model) ); }
public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ModelState.IsValid) { var invalidModels = new List <InvalidModel>(); var states = context.ModelState; foreach (var state in states) { string[] models = state.Key.Split('.'); var invalidModel = new InvalidModel(); var errorMessage = string.Empty; if (models.Length == 2) { invalidModel.PropertyName = models[1]; } else if (models.Length == 1) { invalidModel.PropertyName = models[0]; } foreach (var error in state.Value.Errors) { if (!string.IsNullOrWhiteSpace(error.ErrorMessage)) { errorMessage += error.ErrorMessage + ";"; } } if (!string.IsNullOrWhiteSpace(errorMessage)) { errorMessage = errorMessage.TrimEnd(';'); } if (string.IsNullOrWhiteSpace(errorMessage)) { errorMessage = "Please check format of input data!"; } invalidModel.ErrorMessage = errorMessage; invalidModels.Add(invalidModel); } context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; context.Result = new JsonResult(invalidModels); } }
public IActionResult CreateInvalidModel([FromBody] InvalidModel model) { return(Ok(model)); }