【发布时间】: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