Почему мой RequiredValidator не работает в этом диалоговом окне Jquery? - PullRequest
1 голос
/ 14 апреля 2011

У меня есть диалоговое окно, которое позволяет пользователю вводить тексты перед отправкой на сервер.Текст является обязательным.

Мой код выглядит следующим образом

Это код Jquery для открытия диалогового окна

     function onReportThis() {
     $("#dialog-Report").dialog({
         resizable: false,
         modal: true,
         width: '400px',
         buttons: {
             Submit: function () {

                 __doPostBack('<%= lnkReportThis.UniqueID %>', '');

                 //                     onReported();
             },
             Cancel: function () {
                 $(this).dialog("close");
             }
         }
     });
     $("#dialog-Report").parent().appendTo(jQuery("form:first"));
    return false;
}

Это код самого ящика.

    <div id="dialog-Report" style="display: none" title="Report This Profile">
    <p>
        I am reporting this profile because</p>
    <asp:RequiredFieldValidator ID="validReportText" ControlToValidate="txtReportDetail" runat="server" ErrorMessage="Please enter text" ></asp:RequiredFieldValidator>
    <p>
        Please enter additional details regarding why you are reporting this profile</p>
    <asp:TextBox ID="txtReportDetail" runat="server" Width="300px" Height="300px" TextMode="MultiLine" />
</div>

Обязательное поле проверки не используется до обратного вызова.Как мне заставить это работать?Спасибо

ОБНОВЛЕНИЕ: у меня это работает.

Я должен был сделать это.

                     if (Page_ClientValidate()) {
                     __doPostBack('<%= lnkReportThis.UniqueID %>', '');
                 }

1 Ответ

1 голос
/ 14 апреля 2011

Мой друг, ты в мире боли ... но чтобы ответить на твой вопрос, тебе нужно вручную запустить события проверки, прежде чем вызывать метод __dosubmit().

Эта статья объясняет, как вы можете сделать это на стороне клиента: http://fczaja.blogspot.com/2009/07/aspnet-how-to-trigger-client-side.html

По сути, вы хотите позвонить Page_ClientValidate();, прежде чем отправить

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