繁体   English   中英

asp.net多个文本框验证

[英]asp.net multiple textbox validation

我的页面上目前有3个文本框控件。

对于每个文本框,我也都有一个必要的证明人。 但是,我只希望如果其他2个文本框中的任何一个有文本,则触发文本框的验证器。 如果所有3个文本框均为空,则不应触发任何验证器。

有什么办法可以在javascript / jquery中做到这一点,因为我希望用户获得最佳体验。

任何帮助将不胜感激。

提前致谢。

如果您使用的是WebForms,在这种情况下,我将为每个文本框使用一个自定义验证器(尽管您可以只使用一个验证器):

<asp:CustomValidator id="cvalTextBox1" runat="server" Display="*"
        ErrorMessage="Required: TextBox1"
        ClientValidationFunction="ValidateRequiredTextBox1" ValidateEmptyText="true"  
        ControlToValidate="txtTextBox1"></asp:CustomValidator>

然后实现您的JavaScript(使用jQuery):

<script>
    function ValidateRequiredTextBox1(source, arguments)
    {
        if ((jQuery.trim($("#<%= txtTextBox1.ClientID %>").val()) == "") &&
            ((jQuery.trim($("#<%= txtTextBox2.ClientID %>").val()) != "") ||
             (jQuery.trim($("#<%= txtTextBox3.ClientID %>").val()) != "")))
        {
            arguments.IsValid = false;
        }
        else
        {
            arguments.IsValid = true;
        }
    }
</script>

因此,这将适用于1个文本框(假设您希望每个框1个验证器显示*或其他内容)。 您总共需要3个函数来实现所有3个文本框,或者您可以对所有这些都使用一个验证器,并对上述javascript进行细微调整。

对于客户端验证,请查看以下插件: http : //plugins.jquery.com/project/validate

这将允许您编写自己的验证方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM