[英]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.