私はこのような人たちの他の例を調べようとしました:example。 しかし、まだ動作していません。MVC 4必須属性が機能しない
私のクラス次のようになります。
[Required]
public string UserName { get; set; }
[Required]
public string Password { get; set; }
コントローラー:
public ActionResult Login(string UserName, string password)
{
return View();
}
マイビューはクラスに基づいて..しかし、まだそれは私が何もで入力されていないにもかかわらず、送信ボタンを押してくださいすることができますされます。
ヘルプ?
public ActionResult Login(LoginModel loginModel)
{
.... do stuff here ....
return View();
}
はまた、あなたが
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
あなたのビューに含まれていることを確認してください
クライアント側の検証が有効になっていますか?そうでない場合は、検証するサーバーに戻り、ModelStateは結果として検証に失敗します – LDJ
私の知る限り、属性UserNameとパスワードを直接Loginアクションに渡します。代わりに必須フィールドを含むモデルを渡してみてください。 – Lys
ここではモデルが全く指定されていないのですか?上に示した 'UserName'と' Password'は、クラス内のものと関連していないようです。パラメータのタイプをクラスの名前に変更する必要があります。 'public ActionResult Login(LoginModel model)' – G0dsquad