Frappe Framework
Personnaliser les Web Forms
Le formulaire web se règle par des cases et un script : une seule fiche, plusieurs, grille, saisie incomplète, puis des événements de champ.
Formulaires du site
Les Web Forms ajoutent des formulaires au site. Ils sont scriptables. Depuis la version 7.1, ils incluent des tables, une pagination et d’autres utilitaires. La création est dans Web Form : présentation.
Standard et réglages
Si Is Standard est coché, un dossier est créé dans le module du Web Form, avec un fichier .py et un fichier .js.
| Réglage | Effet |
|---|---|
| Allow Edit | Chaque utilisateur a une instance et peut la modifier |
| Allow Multiple | Il peut voir et modifier plusieurs instances |
| Show as Grid | Vue tableau, seulement si Allow Multiple est coché |
| Allow Incomplete Forms | Sur un long formulaire, l’enregistrement n’échoue pas sur les champs obligatoires. Ils restent affichés comme obligatoires. |
Script client
| Appel | Effet |
|---|---|
frappe.web_form.on(fieldname, handler) | Réagit au changement d’un champ |
frappe.web_form.get_value(fieldname) | Lit un champ |
frappe.web_form.set_value(fieldname, value) | Écrit un champ |
frappe.web_form.validate | Avant l’enregistrement. Renvoyer false bloque la sauvegarde. |
frappe.web_form.set_df_property(fieldname, property, value) | Change une propriété |
frappe.web_form.after_load | Après le chargement |
Exemples publiés : si amount est inférieur à 1000, un message s’affiche et le champ revient à 0 ; la validation lit get_values() et renvoie false sous ce seuil ; le champ rate passe à hidden 1 ; after_load affiche « Please fill all values carefully ».
Fil d’Ariane
Un objet JSON personnalise le fil. L’exemple est [{"label": "Home", "route": "/"}].
Point d’attention
Show as Grid ne s’applique que si Allow Multiple est coché. Allow Incomplete Forms n’enlève pas le marquage obligatoire : il évite seulement l’échec de validation à l’enregistrement.
