Имам SQL Server 2012, в който имам AWARD таблица с две колони TITLE и MONTH. TITLE е varchar(256) и не може да бъде NULL. MONTH е int и може да бъде NULL.
С VS2012 Ultimate и EF 5.0.0 помощникът TextBoxFor в приложението MVC4 не произвежда валидиране (data-val="required" and data-val-required="required message")
за колоната TITLE по-горе, но в същия изглед MONTH получава правилната маркировка за валидиране. Дизайнерът на .edmx показва, че TITLE е NonNullable, НО автоматично генерираният файл AWARD.cs няма атрибута [Required]
за колоната TITLE.
Какво мога да опитам?
@model MyProject.Models.AWARD
@{
ViewBag.Title = "Add Award";
Layout = "~/Views/Shared/_EditorLayout.cshtml";
}
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Add Award</legend>
<table>
<tr>
<td>
@Html.LabelFor(model => model.TITLE)
</td>
<td>
@Html.TextAreaFor(model => model.TITLE)
<br />@Html.ValidationMessageFor(model => model.TITLE)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(model => model.MONTH)
</td>
<td>@Html.DropDownListFor(model => model.MONTH, new SelectList(MyProject.Models.Helpers.Months, "key","value"), "[Not Selected]")
<br />@Html.ValidationMessageFor(model => model.MONTH)
</td>
</tr>
<tr>
<td>
<input type="submit" value="Add" />
</td>
<td>
@Html.ActionLink("Cancel", "Index", null, new { @class = "cancel-button" })</td>
</tr>
</table>
</fieldset>
}