CustomValidator没有调用javascript
本文关键字:javascript 调用 CustomValidator | 更新日期: 2023-09-27 18:15:27
我正在尝试asp.net的customvalidator控件,但问题是它不调用javascript函数。但是它调用了服务器端验证方法的版本。
<asp:CustomValidator EnableClientScript="true"
ID="RegularExpressionValidatorFixedNames" runat="server" ControlToValidate="TextBoxChapterName"
Text="Name not allowed" Font-Size="XX-Small"
ValidationGroup="Name"
ClientValidationFunction="LQA_Validate"
onservervalidate="RegularExpressionValidatorFixedNames_ServerValidate"> </asp:CustomValidator>
javascript函数
function LQA_Validate(sender, args) {
var re = /(?! My Ls|My As|My Qs).*/ig;
args.IsValid = re.test(args);
}
服务器端方法
protected void RegularExpressionValidatorFixedNames_ServerValidate(object source, ServerValidateEventArgs args)
{
Regex regex = new Regex(@"^(?!My Ls|My Qs|My As).*", RegexOptions.IgnoreCase);
args.IsValid = regex.IsMatch(args.Value);
}
问题是这个问题是因为正则表达式还是我在做一些技术错误?
问题是:
function LQA_Validate(sender, args) {
var re = /(?! My Ls|My As|My Qs).*/ig;
args.IsValid = re.test(args);
}
在re.test(args)
中,您应该使用re.test(args.Value)
;
所以代码必须是:
function LQA_Validate(sender, args) {
var re = /(?! My Ls|My As|My Qs).*/ig;
args.IsValid = re.test(args.Value);
}