【问题标题】:Best way to validate certain words in textbox in ASP.Net C#在 ASP.Net C# 中验证文本框中某些单词的最佳方法
【发布时间】:2021-11-06 22:15:40
【问题描述】:

我有一个 PIN 文本框,如果用户输入了 111111 或 000000 等无效 PIN,我需要在其中触发验证。已经尝试使用带有 JS 调用的 CustomValidator,但在我输入后“无效 PIN”消息不会消失有效的 PIN。所以我正在检查这是否可以在像 RegularExpressionValidator 这样的验证控件中完成。我的问题是我们可以在 ValidationExpression 中添加某些单词吗?如果是这样,防止多个单词的验证表达式是什么?

我的 aspx 文件

<asp:CustomValidator ID="cvNewPIN" runat="server" 
     SetFocusOnError="true" ClientValidationFunction="IsPINValid" 
     ErrorMessage="Invalid PIN" ForeColor="Red" Font-Size="Small" 
     Display="Dynamic">Invalid PIN</asp:CustomValidator>

<asp:TextBox ID="txtPIN" runat="server" 
     TextMode="Password" CssClass="form-control" MaxLength="6"></asp:TextBox>

jQuery

function IsPINValid(sender, args) {
    args.IsValid = true;

    var invalidPINs = "111111,000000";
    var arrInvalidPINs = invalidPINs.split(',');
    if (arrInvalidPINs.indexOf($('#<%=txtPIN.ClientID %>') > - 1)) {
        args.IsValid = false;
    }
}

【问题讨论】:

  • 我相信你可以像你提到的那样使用 RegEx Validator,这可能包含一个不允许的单词列表以及需要验证的内容。
  • 我编辑了我的问题。如果有人可以提供正则表达式来阻止单词列表,那将会很有帮助。我找不到任何关于此的内容,但我仍在寻找。谢谢
  • 您在这里使用 WebForms 吗?这是过去的一次爆炸:)
  • 是的,我在这里使用 WebForms。这是我正在增强的旧系统

标签: c# jquery asp.net regex validation


【解决方案1】:

你有以下说法的问题总是正确的

 if (arrInvalidPINs.indexOf($('#<%=txtPIN.ClientID %>') > - 1))

需要勾选Textbox的val如下:

if (arrInvalidPINs.indexOf($('#<%=txtPIN.ClientID %>').val()) > - 1) {
    args.IsValid = false;
}

【讨论】:

  • 感谢您指出这一点。我已经更新了我的脚本,但问题仍然是即使我输入了有效的 PIN,customvalidator 的错误消息也不会消失。错误处理没有问题,只是 CustomValidator 的行为可能会引起混乱。我刚刚所做的就是将 Display="Dynamic" 设置为 None,这样它就不会再显示红色消息了。它现在只会弹出消息。谢谢!
  • 您可能需要将ControlToValidate="txtPIN" 添加到您的CustomValidator,如果可行,您可以试试吗? &lt;asp:CustomValidator ID="cvNewPIN" runat="server" ControlToValidate="txtPIN" SetFocusOnError="true" ClientValidationFunction="IsPINValid" ErrorMessage="Invalid PIN" ForeColor="Red" Font-Size="Small" Display="Dynamic"&gt;Invalid PIN&lt;/asp:CustomValidator&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 2011-01-06
  • 1970-01-01
  • 1970-01-01
  • 2014-04-15
  • 2012-01-06
  • 1970-01-01
相关资源
最近更新 更多