asp.net +自定义验证器未验证

时间:2012-01-18 14:28:45

标签: javascript asp.net

我正在尝试使用customvalidator验证DIV表单,如果没有验证错误则关闭它。下面是我的代码,我无法让我的自定义验证器工作,当我点击提交,没有任何验证,不知道什么是错的。请指教。感谢。

function validateRedemptionDialog(src, args) {

                var rDate = document.getElementById('<%=uitxtRedemptionDate.ClientID%>').value;


                if (rDate == "") {
                    args.IsValid = false;
                    return;
                }
                args.IsValid = true;
            }


function closeRedemptionDialog() {
            $('#dialog_Active_Redemption_confirm').dialog('close');
        }   

<div id="dialog_Active_Redemption_confirm" style="display: none">
                <div class="section_body">
                    <div class="section_body_content">

                        <div class="row">
                            <asp:Label runat="server" ID="uilblRedemptionDate" Text="<%$ Resources:MembersNContactsManagerResources, uigrdhdrTransDate %>"
                                CssClass="label">
                            </asp:Label>
                            <asp:TextBox ID="uitxtRedemptionDate" runat="server" CssClass="text DatePicker" Style="width: 120px;
                                margin-right: 2px;">
                            </asp:TextBox>
                        <asp:CustomValidator ID="ctvtxtCamDateEnd" runat="server" ClientValidationFunction="validateRedemptionDialog"
                        ControlToValidate="uitxtRedemptionDate" ErrorMessage='<img src="../Images/icons/error.png" style="vertical-align:middle"/> XXX!'
                        Font-Names="arial" Font-Size="X-Small" SetFocusOnError="True" Display="Dynamic" />
                        </div>

                        <div class="row">
                            <asp:Label runat="server" ID="uilblRedemptionAmountSpent" Text="<%$ Resources:MembersNContactsManagerResources, uilblRedemptionAmountSpent %>"
                                CssClass="label">
                            </asp:Label>
                            <asp:TextBox ID="uitxtRedemptionAmountSpent" runat="server" Style="width: 120px;">
                            </asp:TextBox>         

                        </div>
                        <div class="row">
                            <ul class="inline" style="margin-left: 137px; padding: 3px;">
                                <li><span class="button grey_btn">
                                    <%--Submit button--%>
                                    <asp:Button ID="uibtnRedemption" runat="server" Text="<%$ Resources : MembersNContactsManagerResources, uilblSubmit %>" OnClientClick="javascript:closeRedemptionDialog();"/>
                                    <span>&nbsp;</span> </span></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>

1 个答案:

答案 0 :(得分:3)

验证程序不会使用您当前的配置验证空文本。 如果您需要将ValidateEmptyText设置为true,即使用户未输入任何内容,也可将其设置为{{1}}。

CustomValidator不需要ControlToValidate。如果您在任何情况下都需要验证,则应将该属性留空。