ti-enxame.com

Parâmetros do módulo A validação personalizada é possível?

Agora, tenho situações para validar parâmetros de módulo no lado administrativo de um módulo.

Eu sei que existe uma opção com Filter nos parâmetros do módulo, mas é limitado, não consigo validar alguns padrões ou condições personalizadas.

Existe alguma opção disponível no Joomla para validar os parâmetros do módulo no lado do administrador?

Desde já, obrigado.

4
Jobin Jose

Você pode criar uma regra personalizada para validação. Por exemplo, o nome do seu módulo é mod_mymodule:

  • Adicione o atributo addrulepath ao conjunto de campos no arquivo .xml:

    addrulepath = "modules/mod_mymodule"

Este será o caminho para a pasta de regras personalizadas.

  • Inclua o atributo validate no campo com o nome do arquivo de regras:

    validate = "testint"

Isso nos dará o arquivo testint.php.

  • Crie o arquivo de regras testint.php e coloque-o no caminho especificado no atributo addrulepath. Portanto, o caminho completo será:

    administrator/modules/mod_mymodule/testint.php

Aqui está uma classe de regra de validação simples:

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

ele deve estender a classe JFormRule e você precisará de apenas um método, chamado test. $value conterá a entrada do campo. Aqui, estamos testando que ele seja inteiro entre 0 e 2.

4
Dmitry Rekun