Я использую
asp.net mvc 3 jquery validate uncostructive javascript.
Я пытаюсь записать все свои проверки на стороне сервера с помощью аннотаций и затем получить новую функцию mvc 3позаботьтесь о клиентской стороне.
У меня есть диалоговое окно, в котором есть кнопка (просто кнопка, а не кнопка отправки), по которой я хочу публиковать данные на сервере через ajax.
Поэтому, когда пользователь нажимает на кнопку, я отправляю форму и возвращаю false, чтобы отменить публикацию.
Я думал, что это вызовет проверку, но это не так.Как сделать триггер проверки на стороне клиента?
Редактировать
<form method="post" id="TaskFrm" action="/Controller/Action">
<input type="text" value="" name="Name" id="Name" data-val-required="Name field cannot be left blank" data-val-length-max="100" data-val-length="task cannot exceed 100 characters" data-val="true">
</form>
var $dialog = $('<div></div>').dialog(
{
width: 580,
height: 410,
resizable: false,
modal: true,
autoOpen: false,
title: 'Basic Dialog',
buttons:
{
Cancel: function ()
{
$(this).dialog('close');
},
'Create Task': function ()
{
var createSubmitFrmHandler = $(my.selectors.createFrm).live('submit', function ()
{
alert('hi');
return false;
});
createSubmitFrmHandler .validate();
var a = createSubmitFrmHandler .valid();
alert(a);
}
}
});
Это всегда возвращает true.
Редактировать 2
, если я помещу кнопку отправки в форму, она покажет проверку на стороне клиента (я использую jquery для возврата false, как показано в моем коде).
Так что это означает, что у меня есть сценариии все, но это не работает по неизвестным причинам, когда я пытаюсь сделать это программно.
Редактировать 3
Я застрял файлы проверки jquery && jquery.validate.unobtrusiveна главной странице.Но когда я вставляю их в частичное представление, которое содержит поля, которые загружаются, а затем принудительно отправляют подтверждение, запускается проверка.
Я не понимаю.Я почти уверен, что путь правильный, так как я просто перетащил файл на свою главную страницу, и он определил путь.Наличие его в частичном представлении на самом деле не является решением, поскольку мне придется делать это несколько раз, и это означает, что каждый раз, когда загружается частичное представление, я получаю еще одну копию этих файлов.
Редактировать 4
Я думаю, что это просто jquery.validate.unobtrusive, который нужно по какой-то причине каждый раз загружать.Хотя я не уверен, почему.