2

我有以下操作方法:ModelState.IsValid總是返回true

public ActionResult SignUp(Player player) 
{ 
     if (ModelState.IsValid) 
     {...} 
} 

的問題是,即使我有我的播放器模型的錯誤,ModelState.IsValid總是返回true。在Player類中,我使用數據註釋爲字符串長度等裝飾了一些屬性。如果在調用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; 
    } 
    ... 
} 
+2

向我們展示您的模型 –

+1

您可以發佈您的視圖,特別是您的BeginForm等。另外請告訴我們你最初是如何呈現你的觀點的。你正在使用RenderPartial還是有另一種操作方法可以爲你做到這一點?所有模型綁定都起作用。 –

+0

這個錯誤肯定會出現在你的視圖中,它將是輸入字段的命名或其他東西,它不能綁定回你的模型。請向我們展示您的註冊視圖。 – eth0

回答

0

請看看下面的文章,他們成功地回答了同樣的問題,你有:ModelState.IsValid always returning true

如果沒有直接的解決方法(我希望有),那麼一些想法肯定會有用。

請讓我知道這是否有幫助。