xm/form-bundle

一些辅助工具,使表单的处理(创建、保存、错误等)更简单。

安装: 297

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

公开问题: 0

类型:symfony-bundle

1.1.2 2017-10-24 19:46 UTC

This package is auto-updated.

Last update: 2024-09-15 14:12:35 UTC


README

一些辅助工具,使表单的处理(创建、保存、错误等)更简单。

安装

步骤 1: 下载组件

打开命令行,进入您的项目目录,并执行以下命令以下载此组件的最新稳定版本

$ php composer.phar require xm/form-bundle

此命令需要 Composer

步骤 2: 启用组件

然后,通过将其添加到项目中的 app/AppKernel.php 文件中注册的组件列表来启用该组件

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new XM\FormBundle\XMFormBundle(),
        );

        // ...
    }
}

步骤 3: 添加服务别名

添加以下内容可以使对服务的调用更短

form_handler: '@xm_form.handler'

用法

获取表单处理器

$formHandler = $this->get('form_handler');

创建表单

$form = $formHandler->getForm(
    EntityFormType::class,
    $entity,
    $request
);

处理表单并保存实体

if ($formHandler->processForm($form, $entity, '[entity name]')) {
    // entity valid and saved successfully, redirect
}

以数组的形式检索验证错误/消息

这在通过 JSON 将验证消息传递到 JS 时很有用。

$errors = FormErrors::flatten($form)

这将返回一个格式为的错误数组

array(
    0 => array(
        'Global Error 1',
    ),
    'field_name' => array(
        'Field Error 1',
        'Field Error 2',
        ...
    ),
    ...
)