Я создал представление, которое я выполняю как на стороне сервера, так и на стороне клиента на странице, используя атрибуты DataAnnotation, которые украшают каждый вход в форме. Проверка выполняется, когда пользователь выходит из элемента управления формы или когда пользователь нажимает кнопку «Отправить», которая имеет тип «отправить».
<table width="100%">
<tr>
<td class="editor-label" width="20%">
<%= Html.LabelFor(model => model.From)%>
(Email)*
</td>
<td width="80%">
<%= Html.TextBoxFor(model => model.From, new { size=30, maxlength=100})%>
<%= Html.ValidationMessageFor(model => model.From)%>
</td>
</tr>
<tr>
<td class="editor-label" width="20%">
</td>
<td width="80%">
<input type="button" id="submitFeedback" value="Send" />
<input type="button" id="cancelFeedback" value="Cancel" onclick="closePopup();" />
</td>
</tr>
Поскольку я публикую данные формы через вызов Async Ajax с использованием jQuery. Он обходит валидацию, установленную в форме. Я хочу, чтобы проверка выполнялась, когда пользователь нажимает кнопку, которую я использую вместо кнопки «отправить».
$(function() {
$('#submitFeedback').click(function() {
$.ajax({
type: "POST",
url: "/Feedback/SubmitFeedback",
data: { from: $('#From').val(), to: $('#To').val(), subject: $('#Subject').val(), body: $('#Comments').val() },
success: function(feedback) {
alert(feedback);
closePopup();
}
});
});
});
Мне нужен доступ к объекту проверки библиотеки Microsoft Ajax на стороне клиента, и я предполагаю, что у него должен быть какой-то метод "IsValid".
Спасибо,
Мохаммад