Jump to content

Prestashop 1.7 - Override Validate.php


Recommended Posts

Bonjour,

J'ai un souci de fonction non trouvée dans l'override Validate.php

J'ai override le fichier Validate.php pour insérer une nouvelle fonction de validation.
 

<?php

class Validate extends ValidateCore
{
    public static function isName2($name){

        $validityPattern = Tools::cleanNonUnicodeSupport(
            '/^(?:[a-zA-ZÀ-ÖØ-öø-ÿ]+(?:[-\'\s][a-zA-ZÀ-ÖØ-öø-ÿ]+)*|[。\.](?:\s|$))*$/u'
        );

        return preg_match($validityPattern, $name);
    }
}



Je souhaite l'utiliser pour vérifier le champ lastname et firstname du client, du coup, j'override aussi la fonction __construct() de la classe Customer.php

 

public function __construct($id = null)
{
  self::$definition['fields']['lastname'] = array('type' => self::TYPE_STRING, 'validate' => 'isName2', 'required' => true, 'size' => 255);
  self::$definition['fields']['firstname'] = array('type' => self::TYPE_STRING, 'validate' => 'isName2', 'required' => true, 'size' => 255);

  parent::__construct($id);
}

Le problème est que les champs passe bien pour la validation isName2, mais impossible d'entrer dans la fonction de validation. L'erreur ressortie est "Fonction de validation non trouvée : isName2".

J'ai déjà vider les caches. 

Auriez-vous une autre idée sur pourquoi mon fichier override est ignoré ?

Merci par avance
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...