web-dev-qa-db-ja.com

Module Paramsカスタム検証は可能ですか?

モジュールの管理者側でモジュールパラメータを検証する状況になりました。

モジュールparamsに Filter のオプションがあることは知っていますが、その制限のため、一部のパターンまたはカスタム条件を検証できません。

Joomlaで管理者側のモジュールパラメータを検証するためのオプションはありますか?

前もって感謝します。

4
Jobin Jose

検証用のカスタムルールを作成できます。たとえば、モジュール名はmod_mymodule

  • addrulepath属性を.xmlファイルのフィールドセットに追加します。

    addrulepath = "modules/mod_mymodule"

これは、カスタムルールフォルダーへのパスになります。

  • ルールファイルの名前を含むフィールドにvalidate属性を追加します。

    validate = "testint"

これにより、ファイルtestint.php

  • ルールファイルを作成しますtestint.phpし、addrulepath属性で指定されたパスに配置します。したがって、完全なパスは次のようになります。

    administrator/modules/mod_mymodule/testint.php

次に、単純な検証ルールクラスを示します。

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

JFormRuleクラスを拡張する必要があり、testというメソッドが1つだけ必要になります。 $valueはフィールドからの入力を含みます。ここでは、0と2の間の整数になるようにテストしています。

4
Dmitry Rekun