以下は私のコードですが、バリデーターが機能しない理由はわかりません 最初のコードはユーザーモデルで、2番目はホームコントローラーで、最後はインデックスアクション結果のビューです私はMVCに新しいです。あなたが私を助けてください。 おかげフィールドバリデーターがASP.NET MVCで動作しないことが必要
すべての最初のpublic class User
{
[Required(ErrorMessage = "UserName is required")]
public string UserName { get; set; }
[Required(ErrorMessage = "Password is required")]
public string Pasword { get; set; }
}
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string uname,string pass)
{
if(ModelState.IsValid)
{
User user = new User();
user.UserName = uname;
user.Pasword = pass;
string Username = ConfigurationManager.AppSettings["username"].ToString();
string passwrd = ConfigurationManager.AppSettings["password"].ToString();
if (user.UserName !=null && user.Pasword !=null)
{
if(user.UserName==Username && user.Pasword==passwrd)
{
return RedirectToAction("Detail", "Home");
}
}
}
return View("Index");
}
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.UserName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.UserName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.UserName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Pasword, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Pasword, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.Pasword, "", new { @class = "text-danger" })
</div>
</div>
jquery min.jsの後にunobtrusive.jsとjquery validation.jsをページまたはレイアウトに追加したことを確認してください。 – Curiousdev
どのモデルをお使いですか?それはUserタイプですか?もう一つは、別のパラメータではなくモデルを提出する方がよいでしょう。 –
どのように動作すると思いますか? –