ASP.net MVC の基本を学ぼうとしていますが、クライアント側の検証が機能しない理由がよくわかりません。
これは両方の web.config ファイルにあります (1 つはグローバル、1 はビュー フォルダーにあります)。
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
これは_layout.cshtmlファイルにあります
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
@Scripts.Render("~/Scripts/jquery.validate.min.js")
これは、登録をテストしている私のビューモデルです:
public class RegisterVM
{
[Required(ErrorMessage="Username Required")]
public string username { get; set; }
[RegularExpression(@"((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})")]
[Required(ErrorMessage="Password Required")]
public string password { get; set; }
[Compare("password", ErrorMessage="Passwords do not match")]
public string passwordConfirm { get; set; }
}
そして、これは私のhtmlです
@using(@Html.BeginForm()){
@Html.LabelFor( model => model.username)
@Html.EditorFor( model => model.username)
@Html.ValidationMessageFor( model => model.username)<br />
@Html.LabelFor( model => model.password)
@Html.PasswordFor( model => model.password)
@Html.ValidationMessageFor( model => model.password)<br />
@Html.LabelFor( model => model.passwordConfirm)
@Html.EditorFor( model => model.passwordConfirm)
@Html.ValidationMessageFor( model => model.passwordConfirm)<br />
<input type="submit" value="Register" />
}
ここに投稿したくありませんでした。ここに関連するいくつかのトピックを読みましたが、問題を解決できないようです。送信をクリックすると、投稿/取得リクエストが行われます。