Documentation Frappe Framework

Frappe Framework

Personnalisation

La mise en page et l’onglet Customization changent le formulaire public. Le script frappe.web_form lit, écrit et valide avant l’enregistrement.

2 min de lectureMis à jour le Source : docs.frappe.io

Mise en page

Des Column Breaks et des Section Breaks dans la table des champs changent la disposition. Des Page Breaks découpent un long formulaire en étapes. Neuf sauts au maximum, donc dix pages. Les options suivantes sont dans l’onglet Customization. Les réglages généraux sont dans Paramètres.

Après envoi et habillage

Le libellé du bouton d’envoi se change. Une bannière peut s’ajouter. Le fil d’Ariane est un objet JSON. Il n’apparaît que si la vue liste du Web Form est activée.

Un titre et un message de succès s’affichent après l’envoi. Selon les droits, la page montre See previous responses, Edit your response, View your response et Submit another response. Ouvert via une Web Form Request, ces liens conservent la clé de demande quand il le faut. Le champ success_url redirige vers une URL cinq secondes après l’envoi.

Le CSS personnalisé de l’exemple cible .web-form-header, .web-form-head et .web-form : marge, bordure, rayon et fond.

Script client

AppelEffet
frappe.web_form.on(champ, handler)Réagit au changement. Le handler reçoit le champ et la valeur.
get_value(champ)Lit un champ
get_values()Lit le formulaire, dans l’exemple de validation
set_value(champ, valeur)Écrit un champ
validateAvant l’enregistrement. false bloque.
set_df_property(champ, propriété, valeur)Par exemple hidden à 1
after_loadAprès le chargement

Si amount est inférieur à 1000, un exemple remet le champ à 0 avec field.set_value(0) et un message. La validation lit get_values(), affiche le même message et renvoie false. Un autre handler cache rate. after_load peut afficher « Please fill all values carefully ».

Point d’attention

Le plafond est de neuf Page Breaks. Le fil d’Ariane dépend de la vue liste. success_url attend cinq secondes, ce n’est pas une redirection immédiate.