it-swarm-es.tech

No se encuentra la regla de validación del lado del servidor

He agregado un campo personalizado a com_content, y todo ha estado funcionando maravillosamente. Ahora estoy tratando de agregar alguna validación del lado del servidor, y después de seguir todos los tutoriales y ejemplos que he podido encontrar, específicamente este , falla porque no se encuentra la regla

La regla deseada es casi idéntica a la validación de un nombre de usuario, así que copié/renombré eso como mi punto de partida. Los archivos/rutas sí existen, y cargar/guardar funciona correctamente.

¿Hay información adicional que no estoy proporcionando o tal vez ojos nuevos que me harán sentir tonto cuando se señala?

Desde el B/E, al hacer clic en "Guardar" se produce este error:

Se ha producido un error.

0 JForm :: validateField () falta la regla mycode.

XML de campo personalizado (Funciona como se esperaba, excepto la validación del servidor)

<?xml version="1.0" encoding="utf-8"?>
<form addfieldpath="/administrator/components/com_mycomponent/models/rules">
    <fields name="params">
        <fieldset name="MyFields" label="My Info">
            <field name="my_code"
                type="text" size="15"
                validate="mycode"
                label="My Code"
                />
        </fieldset>
    </fields>
</form>

/administrator/components/com_mycomponent/models/rules/mycode.php

//jimport('joomla.form.formrule');   does not work with or without this
class JFormRuleMycode extends JFormRule
{
    public function test(SimpleXMLElement $element, $value, $group = null, JRegistry $input = null, JForm $form = null) {
        return true;
    }
}
5
GDP

Parece que realmente tienes que especificar para qué es el camino y ponerlo en el lugar correcto, ¡jaja! ¡El problema estaba en especificar una ruta para campos en lugar de para reglas!

Esta corrección solucionó el problema:

<form>
    <fields name="params" addrulepath="/administrator/components/com_mycomponent/models/rules">
4
GDP