Я пытаюсь получить мое представление, чтобы дать мне сообщение об ошибке рядом с текстовым полем, если пользователь вводит что-то недействительное (например, строку, в которой он ожидает число). Вместо этого, я получаю уродливую страницу с сообщением об ошибке, когда валидация не удалась, когда пользователь нажимает submit.Как использовать html.ValidationMessageFor
Вот часть моего зрения:
@model MembershipTest.ViewModels.AddDriverViewModel
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Add Drivers";
}
@using (Html.BeginForm("AddDriver", "Driver"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>Customer Information</legend>
<table>
<tr>
<td>
@Html.Label("First Name:")
@Html.TextBoxFor(m => m.Driver.F_Name)
@Html.ValidationMessageFor(m => m.Driver.F_Name)
</td>
<td>
@Html.Label("Gender:")
@Html.RadioButtonFor(m => m.isMaleChecked, "true") Male
@Html.RadioButtonFor(m => m.isMaleChecked, "false")Female
</td>
</tr>
<tr>
<td>
@Html.Label("Last Name:")
@Html.TextBoxFor(m => m.Driver.L_Name)
@Html.ValidationMessageFor(m => m.Driver.L_Name)
</td>
А вот соответствующая часть моей модели:
[Required]
[StringLength(30)]
public string F_Name { get; set; }
[Required]
[StringLength(30)]
public string L_Name { get; set; }
В методе после моего контроллера я не забудьте использовать
if (ModelState.IsValid)
Если пользователю было введено что-то вроде 50 символов в тексте первого имени bo x, я хочу, чтобы ошибка отображалась с помощью Html.ValidationMessageFor(), когда они выходят из этого текстового поля, поэтому они могут видеть это, прежде чем они нажимают кнопку submit. Мне не хватает некоторых jquery, чтобы это произошло? Может быть, какое-то использование заявления, которое мне нужно включить?
показать мне, пожалуйста, полную модель и код контроллера. и какая уродливая ошибка вы получаете? это поможет. – Dvir