首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Symfony 4- KnpPaginatorBundle -此表单不应包含额外的字段。

Symfony 4- KnpPaginatorBundle -此表单不应包含额外的字段。
EN

Stack Overflow用户
提问于 2019-09-15 12:09:27
回答 1查看 1.2K关注 0票数 0

我使用KnpPaginatorBundle作为页面。在这个页面中,我使用了一个手工创建的过滤器,它给出了

因此,如果我在表单中输入一些内容,它将处理请求并按照约定显示。问题是当我要求按“ID”分类时。

当我对名称或服务进行筛选,并要求按ID排序时,就会出现此问题

我有以下错误消息:

此表单不应包含额外的字段。

我该怎么做才能阻止这个错误?

我的控制器是:

代码语言:javascript
代码运行次数:0
运行
复制
 /**
     * Undocumented function
     * 
     * @Route("/rh3", name="rh_index3")
     *
     * @param PaginatorInterface $paginator
     * @param Request $request
     * @param ObjectManager $manager
     * @param UserRepository $repo
     * @return void
     */
    public function index3(PaginatorInterface $paginator, Request $request, UserRepository $repo)
    {

        $search = new UserSearch();
        $form = $this->createForm(UserSearchType::class, $search);
        $form->handleRequest($request);




        $users = $repo->getUsersSearch($search);

        $pagination = $paginator->paginate(
            $users,
            $request->query->getInt('page', 1),
            7
        );

        return $this->render('rh/index3.html.twig', [
            'pagination' => $pagination,
            'form' => $form->createView(),
        ]);
    }

我的Twig:

代码语言:javascript
代码运行次数:0
运行
复制
{% extends "base.html.twig" %}

{% block body %}

    <div class="jumbotron">

        <div class="container">
            {{form_start(form)}}
            <div class="form-row align-items-end">
                <div class="col">
                    {{form_row(form.name)}}
                </div>
                <div class="col">
                    {{form_row(form.service)}}
                </div>
                <div class="col">
                    <div class="form-group">

                        <button type="submit" class="btn btn-primary">Rechercher</button>
                    </div>
                </div>

            </div>
            {{form_end(form)}}
        </div>

    </div>

    <table class="table table-hover align-items-center">
        <thead>
            <tr>
                <th>{{ knp_pagination_sortable(pagination, 'Id', 'u.id') }}</th>
                <th>Nom</th>
                <th>Service</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
            {% for user in pagination %}
                <tr {% if loop.index is odd %} class="color" {% endif %}>
                    <td>{{user.id}}</td>
                    <td>{{user.fullName}}</td>
                    <td>{{user.groupe.nom}}</td>
                    <td>
                        <a href="#" class="btn btn-primary">Voir</a>
                    </td>
                </tr>
            {% endfor %}
        </tbody>
    </table>

    <div class="navigation">
        {{knp_pagination_render(pagination)}}
    </div>

{% endblock %}

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-15 18:50:10

在UserSearchType中添加以下选项:

代码语言:javascript
代码运行次数:0
运行
复制
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(array(
        'allow_extra_fields' => true,
    ));
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57943972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档