2013-05-24 3 views
1

Я пытаюсь customvalidator управления asp.net, но проблема в том, что он не вызывает функцию javascript. Однако это вызов на сторону сервера версии методы проверки ..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> 

в яваскрипте функции

  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); 
} 

, что может быть проблемой эта проблема из-за регулярного выражения или я делаю техническую ошибку?

+0

Я использовал console.log но Javascript функция вызывается вообще .. –

+0

что (консоль) дает какую-либо ошибку, как _function undefined_? –

+0

извините, что я сделал ошибку в комментарии, это называется –

ответ

1

Проблема заключается в следующем:

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); 
} 
+0

Спасибо !!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!! –

Смежные вопросы