Développement:lib/formslib.php

Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Développement:lib/formslib.php et celle pour Moodle 3.x est consultable là : Développement:lib/formslib.php.

Moodle1.8

Moodle1.7

L'API de formulaires a été rétro-portée et est désormais disponible pour Moodle 1.7. Il se peut qu'un nombre faible d'entrées de feuilles de style soient manquantes dans les styles 1.7.

Fonctionnalités de la librairie de formulaires

  • Création des structures xhtml conformes à la spécification XHTML-strict DTD et aux règles d'accessibilité de la section 508.
  • Application de styles standard dédiés aux formulaires et rassemblés dans une feuille de style spécifique.
  • Amélioration de l'accessibilité :
    • Tous les champs d'entrée sont labellisés
    • La disposition est réalisée sans tables.
    • Testée et optimisée pour une lecture audio par les traducteurs Dragon et JAWS.
  • Nouvelles fonctionnalités :
    • Sécurisation des saisie facilitée conformément à l'API required_param(), optional_param() grâce à la déclaration setType.
    • Les éléments de formulaires vérifient eux-même les données saisies. Par exemple, seules les options ajoutées à une liste déroulante sont effectivement autorisées à la réception.
    • Fonction de validation paramétrable ou validation par la fonction addRule de QuickForms. La validation QuickForms permet une validation dans le client.
    • Notification des erreurs de saisie dans les champs de formulaire.
    • Facilité d'ajout des boutons d'aide dans les formulaires.
    • Traitement sécurisé des téléchargements de fichiers.
    • Un jeu d'éléments de formulaires spécifique à Moodle ainsi que d'autres éléments prédéfinis.
      • Paramétrage dédié d'éléments en format et selon les modes : modgrade, modvisible, modgroupmode et choosecoursefile
      • Eléments génériques : éditeur HTML, sélecteur de date, sélecteur de date/heure, sélection booléenne
      • Modifications d'éléments ordinaires.
      • Possibilité de définition d'éléments prédéfinis.
  • Quelques fonctionnalités avancées :
    • Une méthode pour ajouter des éléments répétitifs ou multiples à une page et avec un bouton pour ajouter une instance.
    • Travail en cours pour montrer/cacher des options avancées dans les pages.

A faire

  • Conversion des formulaires pour leur faire utiliser la nouvelle API.