在表单帖子中,如果用户输入了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(); }
}
答案 0 :(得分:0)
您需要清除模型状态并再次验证。例如:
ModelState.Clear();
TryValidateModel(person);