web-dev-qa-db-fra.com

Paramètres du module La validation personnalisée est-elle possible?

Maintenant, j'ai des situations pour valider les paramètres du module dans le côté administrateur d'un module.

Je sais qu’il existe une option avec Filtre dans le module params, mais c’est limité, je ne peux pas valider certains modèles ou conditions personnalisées.

Existe-t-il une option disponible dans Joomla pour valider les paramètres du module du côté de l’administrateur?

Merci d'avance.

4
Jobin Jose

Vous pouvez créer une règle personnalisée pour la validation. Par exemple, votre nom de module est mod_mymodule:

  • Ajoutez l'attribut addrulepath à l'ensemble de champs dans le fichier .xml:

    addrulepath = "modules/mod_mymodule"

Ce sera le chemin du dossier de la règle personnalisée.

  • Ajoutez l'attribut validate au champ portant le nom du fichier de règles:

    validate = "testint"

Cela nous donnera le fichier testint.php.

  • Créez le fichier de règles testint.php et placez-le dans le chemin spécifié dans l'attribut addrulepath. Le chemin complet sera donc:

    administrator/modules/mod_mymodule/testint.php

Voici une classe de règles de validation simple:

class JFormRuleTestint extends JFormRule
{
    public function test(&$element, $value, $group = null, &$input = null, &$form = null)
    {
        return ((int)$value > 0 && (int)$value < 2);
    }
}

il devrait étendre la classe JFormRule et vous aurez besoin d'une seule méthode, appelée test. $value contiendra l’entrée du champ. Ici, nous testons qu'il est un entier compris entre 0 et 2.

4
Dmitry Rekun