ModelState.IsValid始终返回true

时间:2011-08-29 11:54:23

标签: asp.net-mvc-3 validation model data-annotations actionmethod

我有以下行动方法:

 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;
    }
    ...
}

1 个答案:

答案 0 :(得分:0)

请查看以下文章,他们成功回答了您的同一问题:ModelState.IsValid always returning true

如果没有直接的解决方案(我希望有),那么一些想法肯定会有用。

如果有帮助,请告诉我。