У меня есть форма ASP.NET MVC 2, которая отлично работает, выполняет проверку на стороне клиента (используя аннотации данных). Всякий раз, когда пользователи нажимают кнопку отправки, проверка на стороне клиента запускается до того, как форма фактически отправляется обратно на сервер.
Это реальный код, очень простой материал:
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) { %>
<%= Html.ValidationSummary(true) %>
<%: Html.EditorForModel() %>
<p>
<input type="submit" value="Save" />
</p>
<% } %>
Теперь вот моя проблема: я хочу отправить форму, используя кнопку, которая находится не внутри , как в примере выше. Эту кнопку нужно поместить в отдельный
на странице, которая работает как панель инструментов для всех кнопок и действий в моем приложении.
Я могу отправить форму, используя что-то вроде этого (используя jQuery):
<asp:Content ID="Content2" ContentPlaceHolderID="ToolBarContent" runat="server">
<input type="submit" value="Save" onclick="$('#form0').submit();" />
</asp:Content>
Единственная проблема заключается в том, что это не вызовет проверку на стороне клиента, как если бы пользователь нажимал кнопку обычной отправки. Вся форма отправляется обратно, выполняется проверка на стороне сервера, и снова отображается представление с ошибками проверки.
Я не хочу, чтобы эта обычная кнопка отправки вместе с формой, просто нужно, чтобы она была на панели инструментов, так есть ли способ сделать это? Отдельная кнопка вызывает отправку формы, одновременно вызывая проверку формы на стороне клиента?