sbsedv/form-bundle

A Symfony bundle that adds some usefull symfony/form integrations.

Installs: 391

Dependents: 1

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.7.0 2023-12-01 15:59 UTC

This package is auto-updated.

Last update: 2024-04-30 00:36:16 UTC


README

PHPStan PHPCS-Fixer

sbsedv/form-bundle

A Symfony bundle that adds some usefull symfony/form integrations.

Error Normalizer

This bundle registers two symfony/serializer normalizers for form errors.

FormErrorNormalizer

The most important normalizer. This normalizer supports submitted, invalid form.

The normalized data is an associative array with the following structure:

[
    {
        // Each FormError object has its own entry
        "message": "The FormError object message",
        "type": "invalid_request_error",
        "param": "first_name", // OPTIONAL
        "cause": "is_blank_error" // OPTIONAL
    }
]

The param key will contain, by default, the property path of the child form that the FormError originates from. This key will not exist if the error originates from the root form (e.g. invalid CSRF Token).

The "cause" key is intended to contain an error name based on the FormError cause.

You can customize the keys behaviour by registering a service that implements ParamResolverInterface or CauseResolverInterface.

If autoconfiguration is disabled, you have to tag the service with sbsedv_form.param_resolver or sbsedv_form.cause_resolver. The normalizer uses tagged iterators, so you can set a "priority" attribute with the tag.

You can also customize the key names and type value with the normalizer context.
See FormErrorNormalizer.

UnsubmittedFormNormalizer

This normalizer supports unsubmitted.

The normalized data is an associative array with the following structure:

[
    {
        "message": "The request body does not contain any usable data.",
        "type": "invalid_request_error"
    }
]

The error message is customizable via "request_body_is_empty" in the "sbsedv_form" translation domain.

You can also customize the key names and type value with the normalizer context.
See UnsubmittedFormNormalizer.

Form Types

This bundle registers the following form types:

  • BooleanType
    Converts boolean values to boolean type

  • UuidTypeExtension
    Extends the default UuidType with optional "as_string" and "nil_to_null" (NilUuid to null) options.

Data Transformers

This bundle provides the following data transformers: