2个TextBox上的条件自定义验证

时间:2016-11-17 17:11:35

标签: c# asp.net visual-studio

我的目标是构建一个基本上需要一个或另一个文本框的字段。 I.E.如果一个文本框的某些值不为null,则为空格。或者为空,我想要提交按钮继续。否则我希望标准的红色错误停止提交回发和启动插入功能。我试过写这个,但到目前为止还不好。我能做些什么才能做到这一点?

char *ptr = "hello";

到目前为止,这就是我所拥有的。

1 个答案:

答案 0 :(得分:1)

我已删除javascript代码。现在你的设计部分是

<div>
    <div class="left">
        <asp:Label ID="Label13" runat="server" Text="Advanced Cancellation:"></asp:Label>
    </div>
    <div class="right">
        <asp:TextBox ID="TextBox12" runat="server"></asp:TextBox>
        <asp:CustomValidator ID="CustomValidator1" runat="server"
            ErrorMessage="Required"
            ValidationGroup="valGroup1"
            OnServerValidate="ServerValidation"
            ForeColor="Red"
            ValidateEmptyText="true">
        </asp:CustomValidator>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
            ErrorMessage="Advanced Cancellation must be an integer."
            ControlToValidate="TextBox12"
            ValidationExpression="^\+?(0|[1-9]\d*)$"
            ForeColor="Red">
        </asp:RegularExpressionValidator>

    </div>
</div>
<div>
    <div class="left">
        <asp:Label ID="Label14" runat="server" Text="Action Required (yyyy-MM-dd):"></asp:Label>
    </div>
    <div class="right">
        <asp:TextBox ID="TextBox13" runat="server"></asp:TextBox>
        <asp:CustomValidator ID="CustomValidator2" runat="server"
            ValidationGroup="valGroup1"
            ValidateEmptyText="true"
            ErrorMessage="Required"
            OnServerValidate="ServerValidation"
            ForeColor="Red">
        </asp:CustomValidator>
        <asp:CompareValidator
            ID="CompareValidator1" runat="server"
            Type="Date"
            Operator="DataTypeCheck"
            ControlToValidate="TextBox13"
            ErrorMessage="Please enter a valid date."
            ForeColor="Red">
        </asp:CompareValidator>
    </div>
</div>
    <div>
        <asp:Button ID="btnok" runat="server" ValidationGroup="valGroup1" />
    </div>

后面的代码是

protected void ServerValidation(object source, ServerValidateEventArgs args)
    {
        if (!string.IsNullOrEmpty(TextBox12.Text) || !string.IsNullOrEmpty(TextBox13.Text))
            args.IsValid = true;
        else
        { 
            args.IsValid = false;
        }

    }

我已经为我测试了它的工作