Telerik RadAjaxManager и ASP.net валидаторы - PullRequest
1 голос
/ 07 февраля 2011

Я пытаюсь использовать обязательный валидатор поля вместе с 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, как в этом примере , но, поскольку у меня может быть несколько валидаторов, поступающих из разных пользовательских элементов управления, я надеялся на более простой способ) *

1 Ответ

1 голос
/ 07 февраля 2011

Несколько недель назад я искал то же самое и наткнулся на это сообщение на форуме . Было предложено использовать вызов Page_ClientValidate (), а затем явно заблокировать отправку страницы. Я еще не попробовал, так как задачи моего проекта отложены, но, похоже, он работает для парня, который запустил тему, поэтому вы можете попробовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...