Giter VIP home page Giter VIP logo

fusion-form's Introduction

Fusion Form

Pure fusion form rendering with afx support!

Documentation

Neos.Fusion.Form - Form Rendering and Data Binding

This part covers the rendering of forms that are bound to objects or data and will be submitted to a custom Controller Action.

Form.Fusion.Form:Runtime - Runtime Single/Multistep Forms with Actions

This part covers the definition of forms with validation and finishing actions via Fusion. Use cases like contact forms and newsletter subscriptions should be implemented like this.

Development targets

  • Form rendering in fusion with afx and data binding
  • Clear separation of automation and magic for understandable results
  • Flexibility:
    • Make no assumption about the required markup like classNames
    • Allow to override all automatically assigned attributes
    • Enable form fragments as fusion components
    • Allow to bind multiple objects to a single form
    • Enable to create custom controls with
    • Respect form elements that are defined as plain html when rendering __trustedProperties
  • Convenience:
    • Render hidden fields for validation, security and persistence magic
    • Provide validation-errors and restore previously submitted values
    • Prefix fieldnames with the current request namespace if needed
  • Make writing of fusion backend modules easy:
    • Create a backend field container with translated labels and error messages
    • Adjust field markup inside the field container for the neos-backend

Important Deviations from Fluid Form ViewHelpers

The following deviations are probably the ones fluid developers will stumble over. There are many more deviations but those are breaking concept changes you should be aware of.

  • Instead of binding a single object a data DataStructure is bound to the form.
  • Form data-binding is defined via form.data.object={object} instead of objectName and object.
  • Field data-binding is defined vis field.name="object[title]" with the object name and square brackets for nesting.
  • Data binding with property path syntax is not supported.
  • Select options and groups are defined directly as afx content and not options.

Important deviations from the concepts of the Neos.Form package

  • The definitions for form rendering and validation are separated into content and schema of the process.
  • By default the SingleStepProcess is used as this is the most common case. If you need multiple steps the process has to be altered to MultiStepProcess
  • Settings, form data and node properties can be used in a unified way via Fusion to define actions and control the process.
  • Confirmations are no special feature but can be defined as "step" in a MultiStepProcess
  • The concept of finishers is replaced with actions.
  • Actions cannot decide to send the user back into the form process.

fusion-form's People

Contributors

bwaidelich avatar daniellienert avatar jonnitto avatar kdambekalns avatar martinhauke avatar mficzel avatar simonschaufi avatar skurfuerst avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.