为什么我的Required Validator不能在这个Jquery对话框中工作?

时间:2011-04-14 00:00:12

标签: jquery asp.net validation jquery-ui

我有一个对话框,允许用户在提交到服务器之前输入一些文本。该文本是强制性的。

我的代码看起来像这样

这是打开对话框的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 个答案:

答案 0 :(得分:1)

我的朋友,您处于一个受伤的世界......但要回答您的问题,您需要在调用__dosubmit()方法之前手动触发验证事件。

本文介绍了如何执行此客户端:http://fczaja.blogspot.com/2009/07/aspnet-how-to-trigger-client-side.html

基本上,您希望在提交

之前致电Page_ClientValidate();