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]);
        }
Пример #2
0
        private StringContent CreateInvalidModel(bool isChildValid)
        {
            var model = new InvalidModel()
            {
                Name = (isChildValid ? "Valid Name" : null)
            };

            return(new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"));
        }
Пример #3
0
        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);
            }
        }
Пример #5
0
 public IActionResult CreateInvalidModel([FromBody] InvalidModel model)
 {
     return(Ok(model));
 }