调用Modelstate.isValid

时间:2018-06-28 14:15:32

标签: .net razor model-view-controller

在表单帖子中,如果用户输入了Name的值,则ModelState有效。

但是,如果在Post 上没有为Name设置任何属性值,但是在调用ModelState.IsValid之前,我在操作中明确设置了一个属性值-它返回为无效。

任何人都可以考虑解决此问题的方法,我曾尝试在ModelState之前调用Validate(person),但似乎无法解决问题。

非常感谢!

public class Person
    { [Required]
      public string Name {get; set;}
    }

动作

public ActionResult updateDetails(Person person)
{
    person.Name = "bob";
    if (!ModelState.IsValid)
    { doSomething(); }
}

1 个答案:

答案 0 :(得分:0)

您需要清除模型状态并再次验证。例如:

ModelState.Clear(); 
TryValidateModel(person);