Saya memiliki beberapa masalah dengan Html.ValidationSummary. Saya tidak ingin menampilkan kesalahan properti di ValidationSummary. Dan ketika saya mengatur Html.ValidationSummary (true) tidak menampilkan pesan kesalahan dari ModelState. Ketika ada beberapa Pengecualian dalam aksi pengontrol pada string
MembersManager.RegisterMember(member);
bagian tangkapan menambahkan kesalahan ke ModelState:
ModelState.AddModelError("error", ex.Message);
Tetapi ValidationSummary tidak menampilkan pesan kesalahan ini. Ketika saya mengatur Html.ValidationSummary (false) semua pesan ditampilkan, tetapi saya tidak ingin menampilkan kesalahan properti. Bagaimana saya bisa memperbaiki masalah ini?
Ini kode yang saya gunakan:
Model:
public class Member
{
[Required(ErrorMessage = "*")]
[DisplayName("Login:")]
public string Login { get; set; }
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
[DisplayName("Password:")]
public string Password { get; set; }
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
[DisplayName("Confirm Password:")]
public string ConfirmPassword { get; set; }
}
Pengendali:
[HttpPost]
public ActionResult Register(Member member)
{
try
{
if (!ModelState.IsValid)
return View();
MembersManager.RegisterMember(member);
}
catch (Exception ex)
{
ModelState.AddModelError("error", ex.Message);
return View(member);
}
}
Melihat:
<% using (Html.BeginForm("Register", "Members", FormMethod.Post,
new { enctype = "multipart/form-data" })) {%>
<p>
<%= Html.LabelFor(model => model.Login)%>
<%= Html.TextBoxFor(model => model.Login)%>
<%= Html.ValidationMessageFor(model => model.Login)%>
</p>
<p>
<%= Html.LabelFor(model => model.Password)%>
<%= Html.PasswordFor(model => model.Password)%>
<%= Html.ValidationMessageFor(model => model.Password)%>
</p>
<p>
<%= Html.LabelFor(model => model.ConfirmPassword)%>
<%= Html.PasswordFor(model => model.ConfirmPassword)%>
<%= Html.ValidationMessageFor(model => model.ConfirmPassword)%>
</p>
<div>
<input type="submit" value="Create" />
</div>
<%= Html.ValidationSummary(true)%>
<% } %>