sbsedv/form-bundle

一个添加了一些有用的 Symfony/form 集成的 Symfony 扩展包。

安装: 444

依赖: 1

建议者: 0

安全: 0

星级: 1

关注者: 0

分支: 0

开放问题: 0

类型:symfony-bundle

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

This package is auto-updated.

Last update: 2024-08-30 01:18:04 UTC


README

PHPStan PHPCS-Fixer

sbsedv/form-bundle

一个 Symfony 扩展包,添加了一些有用的 symfony/form 集成。

错误规范器

此扩展包注册了两个 symfony/serializer 规范器,用于表单错误。

FormErrorNormalizer

最重要的规范器。此规范器支持已提交、无效的表单。

规范化的数据是一个具有以下结构的关联数组

[
    {
        // 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
    }
]

param 键默认将包含从 FormError 源出的子表单的属性路径。如果错误源于根表单(例如无效的 CSRF Token),则此键不存在。

"cause" 键旨在包含基于 FormError 原因的错误名称。

您可以通过注册一个实现 ParamResolverInterfaceCauseResolverInterface 的服务来自定义键的行为。

如果禁用了自动配置,您必须将服务标记为 sbsedv_form.param_resolversbsedv_form.cause_resolver。规范器使用标记迭代器,因此您可以使用标记设置“优先级”属性。

您还可以使用规范器上下文自定义键名称和类型值。
请参阅 FormErrorNormalizer

UnsubmittedFormNormalizer

此规范器支持未提交。

规范化的数据是一个具有以下结构的关联数组

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

错误消息可以通过“sbsedv_form”翻译域中的“request_body_is_empty”来自定义。

您还可以使用规范器上下文自定义键名称和类型值。
请参阅 UnsubmittedFormNormalizer

表单类型

此扩展包注册了以下表单类型

  • BooleanType
    将布尔值转换为布尔类型

  • UuidTypeExtension
    扩展默认的 UuidType,带可选的 "as_string" 和 "nil_to_null"(NilUuid 到 null)选项。

数据转换器

此扩展包提供了以下数据转换器