我正在嘗試創建一個簡單的創建用戶頁面,其中包含用戶詳細信息和確認密碼字段。Jquery Validation爲真後ModelState.IsValid爲false
我有一個用戶視圖模型和用戶等級:
public class UserViewModel
{
public User AccountUser { get; set; }
[Required]
[Compare("AccountUser.Password")]
public string ConfirmPassword { get; set; }
}
[DisplayName("User Account")]
public class User
{
[Required]
[DisplayName("Username")]
public string Username { get; set; }
[Required]
[DisplayName("Password")]
public string Password { get; set; }
}
不匹配的數據進入兩個密碼字段時,將jQuery將成功地告訴我密碼字段不匹配,而且提交按鈕將不會回到我的控制器。
但是,如果我匹配這兩個字段,jQuery將通過它的驗證,提交查詢將觸發回控制器。此時,我的ModelState.IsValid
被選中,並且它在Password屬性的錯誤中返回false,引用「Could not find property AccountUser.Password」。
我明白分離的關注模式,但我想了解爲什麼這段代碼不起作用。
有人可以解釋爲什麼modelstate沒有顯示jquery驗證消息後返回false?
我看到只要它回來控制器完全填充,在正確的地方所有的值對象。 – Jastill