我有以下行动方法:
public ActionResult SignUp(Player player)
{
if (ModelState.IsValid)
{...}
}
问题是ModelState.IsValid总是返回true,即使我的Player模型中有错误也是如此。在Player类中,我使用数据注释为字符串lenth等装饰了一些属性。如果我在调用ModelState.IsValid之前调用TryValidateModel(player)方法它工作正常,它返回false。任何帮助表示赞赏。
播放器模型如下所示:
public class Player
{
public int PlayerID
{
get;
set;
}
[Required(ErrorMessage = "Name is required.")]
[StringLength(10, ErrorMessage = "Name must be under 11 characters.")]
public String Name
{
get;
set;
}
[Required(ErrorMessage = "Password is required.")]
[StringLength(10, ErrorMessage = "Password must be under 11 characters.")]
public String Password
{
get;
set;
}
...
}
答案 0 :(得分:0)
请查看以下文章,他们成功回答了您的同一问题:ModelState.IsValid always returning true
如果没有直接的解决方案(我希望有),那么一些想法肯定会有用。
如果有帮助,请告诉我。