Tag: modelstate

在Asp.Net MVC Web Api中测试Controller时,ModelState.IsValid始终为true

我试图使这个工作,并进行了许多google / stackoverflow搜索,没有运气。 我有一个简单的模型: public class MovieModel { public string Id { get; set; } [Required] [StringLength(100)] public string Name { get; set; } } 控制器中的方法: // POST: api/Movies public IHttpActionResult Post([FromBody]MovieModel movieModel) { if (ModelState.IsValid) { //Code } } 一个测试方法(是一个集成测试,但在unit testing中会发生同样的情况): [TestMethod] public void MoviesController_Post_Without_Name() { // Arrange var model = new MovieModel(); model.Name […]

如何获取列表中项的ModelState键

问题 我有一个用户可以编辑的字段列表。 提交模型时,我想检查这些项是否有效。 我不能使用数据符号,因为每个字段都有不同的validation过程,直到运行时才会知道。 如果validation失败,我使用ModelState.AddModelError(string key, string error) ,其中键是要添加错误消息的html元素的名称。 由于有一个字段列表,Razor为html项生成的名称就像Fields[0].DisplayName 。 我的问题是有一种方法或方法从视图模型中获取生成的html名称的密钥吗? 试图解决方案 我没有运气,为密钥尝试了toString()方法。 我也查看了HtmlHelper类,但我没有看到任何有用的方法。 代码片段 查看模型 public class CreateFieldsModel { public TemplateCreateFieldsModel() { FreeFields = new List(); } [HiddenInput(DisplayValue=false)] public int ID { get; set; } public IList FreeFields { get; set; } public class TemplateFieldModel { [Display(Name=”Dispay Name”)] public string DisplayName { get; […]

如何确定ModelState的哪个键有错误

当ModelState.IsValid为false时,如何确定ModelState中哪些键包含错误? 通常我只是将鼠标hover在ModelState.Values列表中,逐项检查错误计数> 0.但是现在我正在处理一个包含复杂对象列表的视图,总计252个ModelState项(每个对象的每个项目)每个列表都有一个ModelState.Keys上的条目。 那么,是否有更简单的方法来指出错误源?