C# CustomValidator不调用javascript
我正在尝试asp.net的customvalidator控件,但问题是它没有调用javascript函数。但是,它正在调用验证方法的服务器端版本C# CustomValidator不调用javascript,c#,javascript,asp.net,C#,Javascript,Asp.net,我正在尝试asp.net的customvalidator控件,但问题是它没有调用javascript函数。但是,它正在调用验证方法的服务器端版本 <asp:CustomValidator EnableClientScript="true" ID="RegularExpressionValidatorFixedNames" runat="server" ControlToValidate="TextBoxChapterName"
<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>
服务器端方法
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);
}
问题是:
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);
}
我使用了console.log,但是javascript函数被调用了。它(console)给出了什么错误,比如函数未定义?很抱歉,我在注释中出错了,它被调用了。我认为正则表达式有问题,
args
变量是什么?.text()
方法需要一个字符串,但如果它是字符串原语,则无法为其分配.IsValid
属性。我使用了console.log,但调用了javascript函数。它是什么(console)给出任何错误,如函数未定义?很抱歉,我在注释中出错,它被调用了。我认为正则表达式有问题,args
变量是什么?.text()
方法需要一个字符串,但如果它是字符串原语,则无法为其分配.IsValid
属性。