Я пытаюсь использовать обязательный валидатор поля вместе с RadAjaxManager Telerik.
Если я использую кнопку, то проблем нет, и обратный вызов не происходит, пока поле пустое.
Однако в некоторых случаях я вызываю ajax-запрос вручную, и тогда проверка не происходит, и выполняется обратный вызов независимо от того, является ли поле пустым или нет.
Вот пример с кнопкой и ручным запросом:
<script type="text/javascript">
$("#spanSubmit").click(function()
{
$find("<%=RadAjaxManager1.ClientID%>").ajaxRequest();
});
</script>
<asp:TextBox ID="tb1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="req1" runat="server" ControlToValidate="tb1" Text="!!!"></asp:RequiredFieldValidator>
<asp:Button ID="button1" runat="server" onclick="button1_Click" Text="Submit" />
<span id="spanSubmit">Ajax Request</span>
<asp:Label ID="Label1" runat="server"></asp:Label>
<telerik:RadScriptManager ID="ScriptManager1" runat="server"></telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="button1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Label1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="Label1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
При нажатии кнопки 1, когда текстовое поле пустое, обратной передачи не происходит.
При нажатии на промежуток, когда текстовое поле пусто - происходит обратная передача, а на стороне сервера req1.IsValid имеет значение true, если я не вызову вручную Page.Validate ().
Есть ли простой способ активировать валидатор при выполнении подобного ajax-запроса?
(я понимаю, что есть способы вызова валидатора с использованием javascript, как в этом примере , но, поскольку у меня может быть несколько валидаторов, поступающих из разных пользовательских элементов управления, я надеялся на более простой способ) *