【问题标题】:Symfony2 validation and bootstrap/jquery modalSymfony2 验证和 bootstrap/jquery 模式
【发布时间】:2012-07-18 07:30:11
【问题描述】:

我有以下情况:

我将 symfony2-form 渲染为模态(使用引导程序和 jQuery)。当表单无效时,错误消息应出现在模式框中。我像这样链接到模态框: route/to/action#modal

我该怎么做?

在我的模板中,我有一个指向模态的简单链接:

<a data-toggle="modal" href="#new">Add member</a>

此链接打开一个模式。在里面,有一个简单的表格,包含标题、名字和姓氏:

{{ form_widget(form.title) }}
{{ form_widget(form.first_name) }}
{{ form_widget(form.last_name) }}

在表单类中,我是这样定义的:

 $builder
        ->add('title', 'text', array('required' => false))
        ->add('first_name')
        ->add('last_name');

因此,标题是可选的,名字和姓氏是必需的。所以我将这些行添加到我的validation.yml中:

Acme\MemberBundle\Entity\Member:
properties:
    first_name:
        - NotBlank: { message: Please enter a first name }
    last_name:
        - NotBlank: { message: Please enter a last name }

在我的操作中(在提交表单时调用)我有以下几行:

/**
 * Creates a new Member entity.
 *
 * @Route("/create", name="acme_member_create")
 * @Method("post")
 * @Template("AcmeMemberBundle:Member:index.html.twig")
 */
public function createAction()
{
    $member = new Member();
    $em = $this->getDoctrine()->getEntityManager();
    $request = $this->getRequest();
    $form = $this->createForm(new MemberType(), $member);
    $form->bindRequest($request);

    if ($form->isValid()) {
        $em->persist($member);
        $em->flush();

        return $this->redirect($this->generateUrl('acme_member'));

    }

    $entities = $em->getRepository('AcmeMemberBundle:Member')->findAll();

    return array(
        'entities' => $entities,
        'form'   => $form->createView()
    );
}

所以,当 for 无效时,我想路由回我的 index.html.twig(显示模式的地方)。

【问题讨论】:

  • 我用一个简单的validation.yml 和错误消息进行了尝试。但是当我路由回我的模板时,模式框消失了。
  • 我想看一点代码!我们不是为您编写代码,但我们可以帮助您使代码正常工作

标签: jquery symfony twitter-bootstrap


【解决方案1】:

我找到了解决办法!

有了这个 JavaScript 代码,我可以在页面加载时显示模式:

$(window).load(function(){
    $('#new').modal()
}); 

所以,如果表单无效,我只执行此代码。

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 2019-04-08
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2019-02-09
    • 2015-10-22
    • 2021-06-23
    • 2023-03-15
    相关资源
    最近更新 更多