Я хочу, а также проверку на стороне клиента как проверку на стороне сервера. Я понял, что это как следующее:Asp.Net MVC EnableClientValidation не работает
Model: (Модель имеет DataModel (DBML), который содержит класс Test)
namespace MyProject.TestProject
{
[MetadataType(typeof(TestMetaData))]
public partial class Test
{
}
public class TestMetaData
{
[Required(ErrorMessage="Please enter a name.")]
[StringLength(50)]
public string Name { get; set; }
}
}
Контроллер нет ничего особенного.
The View:
<% Html.EnableClientValidation(); %>
<% using (Ajax.BeginForm("Index", "Test", FormMethod.Post,
new AjaxOptions {}, new { enctype = "multipart/form-data" }))
{%>
<%= Html.AntiForgeryToken()%>
<fieldset>
<legend>Widget Omschrijving</legend>
<div>
<%= Html.LabelFor(Model => Model.Name) %>
<%= Html.TextBoxFor(Model => Model.Name) %>
<%= Html.ValidationMessageFor(Model => Model.Name) %>
</div>
</fieldset>
<div>
<input type="submit" value="Save" />
</div>
<% } %>
Чтобы сделать эту всю работу я добавил также ссылки на JS файлы:
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
В конце концов, он должен работать, но он не работает на 100%: Это делает проверяется без обновления страницы после нажатия кнопки. Он также выполняет «половину» проверки на стороне клиента. Только когда вы введете текст в текстовое поле и затем отмените введенный текст. Появится проверка на стороне клиента. Но когда я пытаюсь это сделать, постукивая между элементами управления, нет проверки на стороне клиента.
Могу я пропустить какую-то ссылку или что-то еще? (Я использую Asp.Net MVC 2 RTM)
[Здесь] (http://pastebin.com/685bHTHH) заключается в том, как проверка включена в мою страницу. Тем не менее, проверка клиента не работает вообще, вы видите какие-либо проблемы? – Shimmy