Я просто не могу узнать, что не так. Я стараюсь не разрешать установку нулевых значений в поле, когда пользователь пытается это сделать, он должен отображать сообщение «*» и ждать, пока он установит значения, но он не работает, а нулевые значения успешно отправлены в действие. Модель:Проверка не работает mvc
public class CompanyMainInfoModel
{
public int CompanyId { get; set; }
[Required(ErrorMessage = "*")]
[Display(Name = "company_name", ResourceType = typeof(Localization))]
public string CompanyName { get; set; }
[Required(ErrorMessage = "*")]
[Display(Name = "company_address", ResourceType = typeof(Localization))]
public string CompanyAddress { get; set; }
[Required(ErrorMessage = "*")]
[Display(Name = "company_director", ResourceType = typeof(Localization))]
public string CompanyDirector { get; set; }
[Required(ErrorMessage = "*")]
[Display(Name = "company_phone", ResourceType = typeof(Localization))]
public string CompanyTelephoneNumber { get; set; }
}
Markup:
@model BTGHRM.Models.CompanyMainInfoModel
@{
Layout = "~/Views/Shared/_EmployeeMain.cshtml";
}
<head>
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery-ui.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
</head>
<body>
<span class="content_h4">@Resources.Localization.company_info</span>
<br />
<br />
<div id="FormContainer">
@Html.Partial("Partial/_CompanyInfo", Model)
</div>
</body>
Частичное Markup:
@model BTGHRM.Models.CompanyMainInfoModel
@using (Html.BeginForm("CompanyInfo", "Administration"))
{
<table>
<tr>
<td>@Html.LabelFor(m => m.CompanyName)</td>
<td>@Html.TextBoxFor(m => m.CompanyName)</td>
<td>@Html.ValidationMessageFor(m => m.CompanyName, "" , new { @class="text-danger"})</td>
</tr>
<tr>
<td>@Html.LabelFor(m => m.CompanyAddress)</td>
<td>@Html.TextBoxFor(m => m.CompanyAddress)</td>
<td>@Html.ValidationMessageFor(m => m.CompanyAddress, "", new { @class = "text-danger" })</td>
</tr>
<tr>
<td>@Html.LabelFor(m => m.CompanyDirector)</td>
<td>@Html.TextBoxFor(m => m.CompanyDirector)</td>
<td>@Html.ValidationMessageFor(m => m.CompanyDirector, "", new { @class = "text-danger" })</td>
</tr>
<tr>
<td>@Html.LabelFor(m => m.CompanyTelephoneNumber)</td>
<td>@Html.TextBoxFor(m => m.CompanyTelephoneNumber)</td>
<td>@Html.ValidationMessageFor(m => m.CompanyTelephoneNumber, "", new { @class = "text-danger" })</td>
</tr>
</table>
<input style="width:78px" type="submit" [email protected] />
}
И, несмотря на [Требуется] он все еще позволяет мне установить нулевые значения для любого поля. Что не так с моим кодом?
Включили ли вы соответствующую ссс ips в представлении? –
да, а [требуется] работает на других страницах, кроме этого. – GeekyNuns
Ваши скрипты в неправильном порядке. 'jquery' должен быть первым (перед' jquery.validate' и 'jquery.validate.unobtrusive') –