Je viens de me perdre en voyant les deux types de validations dans Joomla. Jusqu'ici ma compréhension de ces 2 est comme ci-dessous
validation côté client
Fait via jQuery/Javascript sur le navigateur du client
validation côté serveur
Fait sur le serveur après que la page ait été soumise
Essayez de comprendre le fonctionnement de la validation côté serveur avec un exemple simple de champ obligatoire.
Le champ de formulaire XML ci-dessous
<field name="note_name"
type="text"
label="Note Name"
required="true" />
Dans le default.php j'ai le code ci-dessous
//JHtml::_('behavior.formvalidation');
<form .... class="form-vertical" ...>
echo $this->form->renderField('note_name');
<button type="submit" class="btn btn-primary">Save</button>
Dans le code ci-dessus, je n'ai inclus aucun code de validation côté client et je pensais que la page serait soumise et que le serveur effectuerait la validation. Mais la page n'est pas soumise et affiche simplement un joli popup près du champ demandant à "Veuillez saisir ce champ".
Qu'est-ce que j'oublie ici? Pourquoi la validation du client est déclenchée alors que je n’ai inclus aucun code de validation côté client?
Il s'agit d'une validation automatique par votre navigateur, car required
attribut est défini dans le champ de saisie. Voici une liste des navigateurs qui supportent ceci: http://caniuse.com/#feat=form-validation