Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Validation does not exist: regex.

I am getting error: "Validation does not exist: regex."
Looking in library\core\class.validation.php:478
I note that if I provide $Rule as 'regex:' rule name will become $RuleName = 'regex' and on line 497 will be checked function_exists($RuleName).
As PHP has no regex function it will be always false.
Please confirm that ValidateRule('AuthenticationKey', 'regex:^[a-z0-9_-]+$i', T('The client id must contain only letters, numbers and dashes.'))
will be always false.
I am looking in v2.0.18

Tagged:
«1

Comments

  • I'm getting the same error using jsconnect for Wordpress.

  • Getting the same error as well. Any one have a solution?

  • @leo72 said:
    I am getting error: "Validation does not exist: regex."
    Looking in library\core\class.validation.php:478
    I note that if I provide $Rule as 'regex:' rule name will become $RuleName = 'regex' and on line 497 will be checked function_exists($RuleName).
    As PHP has no regex function it will be always false.
    Please confirm that ValidateRule('AuthenticationKey', 'regex:^[a-z0-9_-]+$i', T('The client id must contain only letters, numbers and dashes.'))
    will be always false.
    I am looking in v2.0.18

    Good catch.

    jsConnect was recently updated on this site from the git repo, flagging @lincoln

    however you are right the correct method is normally

    ...Validation->AddRule('RuleName', 'regex:`^[a-z0-9_-]+$`i');
    ...Validation->ApplyRule('FieldName', 'RuleName', T('The client id must contain only letters, numbers and dashes.'));
    

    or the quick style used in that jsConnect code

    $Form->ValidateRule('AuthenticationKey', array('Name'=>'ValidateRegex', 'Args' => '^[a-z0-9_-]+$`i'), T('The client id must contain only letters, numbers and dashes.'));
    

    There is some incorrect code in class.validation.php

    If you would like to report the ValidateRule erroneous/incomplete code here (not the jsConnect pluign issue):
    https://github.com/vanillaforums/Garden/issues

    grep is your friend.

  • How do I fix this exact issue I am having.

  • x00x00 MVP
    edited January 2014

    @cpagan it is better if either you search the forum to see if this issue has occurred and post there, or having started a new discussion check that for the answer (which i gave you).

    To answer the question again use the previous version of jsConnect plugin, which doesn't have this issue.

    grep is your friend.

  • Where do I get this version from

  • http://vanillaforums.org/addon/jsconnect-plugin

    Get 1.0.3 in the sidebar instead of clicking "download now"

  • Thank you for answers. I am impressed. I am looking for forum php application, which I can integrate to my huge MVC OOP project. I had a look on 4 (well known) forum solutions, but source was in very old style and integration affords gave nothing :-(
    Now I am trying vanilla. I like how is source written and organized, it is very close to my working style.
    How can I contribute to the project? Do you accept pull requests on github?
    Thanks again for reply. The validation issue is not a problem. I see you are in new version rush now. But I still can't use jsConnect.... Debuging :-)

  • @leo72 said:
    Do you accept pull requests on github?
    Thanks again for reply. The validation issue is not a problem. I see you are in new version rush now. But I still can't use jsConnect.... Debuging :-)

    Yes they do, there is a contributers agreement generally speaking on most OS projects, but they will accept pull request I'm sure if good enough quality an in vanillas ethos, or give you a good explanation why not.

    Vanilla a lot of stuff is done as addons, it is not vanilla ethos to have the bells an whistle on as default, however there are also official addon that are bundled with the core, and also additional official addon which has their won repo (which is where jsConnect is).

    grep is your friend.

  • I have the same problem right now but I have no idea what you guys are talking about. I'm not a developer. I'm dead in the water with no log-in for my users. Am I to understand that all I need to do is download version 1.0.3 and reinstall? Can anyone verify this fixes the problem?

  • FYI: I took you advice and un-installed version 1.4.1 and installed 1.0.3 as instructed. No change Im still getting the same error

  • x00x00 MVP
    edited January 2014

    can't be possible that 1.0.3 code has been stable since 2011 and doesn't even have the code in question. unless of course that page with the error is cached.

    grep is your friend.

  • Your right I did not manually remove the 1.4.1 folder in the directory so when I installed 1.0.3 it still grabbed the 1.4.1 folder How ever I also noticed one other thing in the process and that is that the plugin says compatible with Vanilla version 2.0.4 and im running vanilla 2.1b would this cause any problems?

  • wow what a headache, im trying to enable the js connect 1.0.3 plugin and it will not activate....hum does anyone know how to fix this?

  • @jens1seo said:
    wow what a headache, im trying to enable the js connect 1.0.3 plugin and it will not activate....hum does anyone know how to fix this?

    Have you checked the permissions, can you enable any plugins, is there an error a the top of the page?

    grep is your friend.

  • compatible with Vanilla version 2.0.4 and im running vanilla 2.1b would this cause any problems

    not sure @lincoln ?

    grep is your friend.

  • jens1seojens1seo
    edited January 2014

    No errors at the top of the page, and I have enabled plugins before but just to be sure, how do I check permissions?

    @x00 said:
    Have you checked the permissions, can you enable any plugins, is there an error a the top of the page?

  • @jens1seo For jsconnect 1.4.1 Just replace line 475 in class.jsconnect.plugin.php

    $Form->ValidateRule('AuthenticationKey', 'regex:`^[a-z0-9_-]+$`i', T('The client id must contain only letters, numbers and dashes.'));
    

    with

    $Form->ValidateRule('AuthenticationKey', array('Name'=>'ValidateRegex', 'Args' => '^[a-z0-9_-]+$`i'), T('The client id must contain only letters, numbers and dashes.')); 
    
  • @x00 said:
    jsConnect was recently updated on this site from the git repo

    Can I clone from there?

  • @leo72 said:
    Can I clone from there?

    yes but I said this was a buggy revision

    grep is your friend.

Sign In or Register to comment.