gpt4 book ai didi

c# - 一次只触发一个自定义验证器

转载 作者:行者123 更新时间:2023-11-30 16:20:43 25 4
gpt4 key购买 nike

我有两个 Custom Validators 附加到一个文本框。文本框用于输入逗号分隔的电子邮件列表。第一个验证器检查没有重复的电子邮件地址。第二个自定义验证器检查所有电子邮件地址的格式是否有效。我有以下代码并且工作正常。

但是,当满足两个失败条件时,它们都会触发,并且我在文本框的右侧得到两个 *。一次只显示一个 * 的最佳方法是什么?

enter image description here

代码

<asp:CustomValidator ID="valEmailRecipients" runat="server" ControlToValidate="txtEmailRecipients"
ClientValidationFunction="isUniqueElements" OnServerValidate="IsUniqueEmail_Validate"
Text="*" ErrorMessage="There should be no duplicate email address for a report"
ValidationGroup="Save">
</asp:CustomValidator>

<asp:CustomValidator ID="valEmailFormat" runat="server" ControlToValidate="txtEmailRecipients"
ClientValidationFunction="checkEmailFormat" OnServerValidate="IsValidEmailFormat_Validate"
Text="*" ErrorMessage="Entries should be valid email addresses separated by comma"
ValidationGroup="Save">
</asp:CustomValidator>

引用文献:

  1. Validating with a Custom Function for ASP.NET Server Controls
  2. Enable/Disable asp validation control in javascript
  3. How to set ValidatorEnable() javascript attribute for a validator?
  4. Validator enable using Javascript

最佳答案

最简单的方法:- 如果电子邮件格式不正确,让 valEmailRecipients 返回 true。也就是说,只有当其他验证成功时,它才会发挥作用。

其他方式:- 禁用启用 验证器,这可能会很痛苦。

出于好奇,为什么有 2 个星号的问题?

关于c# - 一次只触发一个自定义验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13957174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com