Jetzt habe ich Situationen, um Modulparameter auf der Admin-Seite eines Moduls zu validieren.
Ich weiß, dass es in Modulparametern eine Option mit Filter gibt, aber diese ist begrenzt. Ich kann einige Muster oder benutzerdefinierte Bedingungen nicht validieren.
Gibt es eine Option in Joomla, um Modulparameter auf der Admin-Seite zu validieren?
Danke im Voraus.
Sie können eine benutzerdefinierte Regel zur Validierung erstellen. Zum Beispiel ist Ihr Modulname mod_mymodule
:
Fügen Sie dem Fieldset in der XML-Datei das Attribut addrulepath
hinzu:
addrulepath = "modules/mod_mymodule"
Dies ist der Pfad zum benutzerdefinierten Regelordner.
Fügen Sie dem Feld das Attribut validate
mit dem Namen der Regeldatei hinzu:
validate = "testint"
Dies gibt uns die Datei testint.php
.
Erstellen Sie die Regeldatei testint.php
und fügen Sie ihn in den Pfad ein, der im Attribut addrulepath
angegeben ist. Der vollständige Pfad lautet also:
administrator/modules/mod_mymodule/testint.php
Hier ist eine einfache Validierungsregelklasse:
class JFormRuleTestint extends JFormRule
{
public function test(&$element, $value, $group = null, &$input = null, &$form = null)
{
return ((int)$value > 0 && (int)$value < 2);
}
}
es sollte die Klasse JFormRule
erweitern, und Sie benötigen nur eine Methode namens test
. $value
enthält die Eingabe aus dem Feld. Hier testen wir, ob es eine ganze Zahl zwischen 0 und 2 ist.