dsfr-form-builder

Un form builder Ruby on Rails pour créer des formulaires conformes au Système de Design de l'État (DSFR).

Génère automatiquement le markup HTML complexe du DSFR (labels, hints, messages d'erreur, classes CSS) à partir d'une API simple et familière.

Installation

Ajoutez cette ligne à votre Gemfile :

gem "dsfr-form_builder"

Utilisation

Configurez le form builder dans votre formulaire Rails :

<%= form_with model: @user, builder: Dsfr::FormBuilder do |f| %>
  <%= f.dsfr_text_field :name %>
  <%= f.dsfr_email_field :email %>
  <%= f.dsfr_text_area :bio, hint: "Décrivez-vous en quelques mots" %>
  <%= f.dsfr_select :role, [["Admin", "admin"], ["User", "user"]] %>
  <%= f.dsfr_check_box :terms, label: "J'accepte les CGU" %>
  <%= f.dsfr_submit "Enregistrer" %>
<% end %>

Tous les helpers

Ou définissez-le comme builder par défaut dans votre ApplicationController :

class ApplicationController < ActionController::Base
  default_form_builder Dsfr::FormBuilder
end

Option display_required_tags (default: false)

Par défaut, les champs obligatoires sont affichés comme les autres. L'affichage d'une astérisque pour les champs obligatoires peut être activé globalement lors de l'initialisation du form builder :

<%= form_with model: @user, builder: Dsfr::FormBuilder, display_required_tags: true do |f| %>
  ...
<% end %>

Démo

Voici un aperçu des différents composants disponibles :

Nom complet Ce champ est obligatoireNom complet Le nom doit contenir au moins 2 caractères

Pronom