标签: symfony-forms

Addaptive Symfony2表单选择

我刚刚创建了一个表单类型,它有一个选择类型,choice_list必须根据记录的用户角色进行更改,因此表单类型需要访问当前用户角色,然后choice_list根据它进行更改.

有人能指出一种通过Symfony2表单模式完成它的简洁方法吗?

symfony-forms symfony

2
推荐指数
1
解决办法
277
查看次数

Symfony2 添加当前用户以形成输入数据

我有一个标准 FOS 用户,该用户与博客实体具有多对一实体关系。

/**
 * @ORM\ManyToOne(targetEntity="User", inversedBy="blog")
 * @ORM\JoinColumn(name="user", referencedColumnName="id")
 */
private $user;
Run Code Online (Sandbox Code Playgroud)

我使用了app/consolegenerate:doctrine:crud命令来生成基本的 crud 系统。

当我创建新的博客实体时,我想插入执行该操作的登录用户。默认情况下,Symfony 生成 CRUD 代码,允许用户选择连接到实体的用户。

    $builder
        ->add('name')
        ->add('address')
        ->add('facebook')
        ->add('twitter')
        ->add('user')
    ;
Run Code Online (Sandbox Code Playgroud)

在控制器中,我可以使用 security.context 访问登录用户:

$user = $this->get('security.context')->getToken()->getUser();
Run Code Online (Sandbox Code Playgroud)

改变这种情况的最佳行动方案是什么?

symfony-forms symfony doctrine-orm fosuserbundle

2
推荐指数
1
解决办法
1455
查看次数

Symfony 2与验证组一起形成,错误映射到错误的属性?

从来没有遇到过这个问题.

  • 用手机填写表格,将姓氏留空
  • 提交表单(验证组成为DefaultCreate)
  • 错误"姓氏是必需的".映射在错误的$phone字段上,而应该是mappend到$lastName自己的属性

错误

你能重现同样的问题吗?

$phone属性在Create验证组中,而Default隐藏组中的$ phone :

class User
{
    /**
     * @Assert\NotBlank(groups={"Create"}, message="Last name is required.")
     *
     * @var string
     */
    protected $lastName;

    /**
     * @Assert\NotBlank(message="Phone is required.")
     *
     * @var string
     */
    protected $phone;
}
Run Code Online (Sandbox Code Playgroud)

我根据提交的数据确定验证组:

class UserType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('lastName', 'text');
        $builder->add('phone', 'text');
        $builder->add('submit', 'submit');
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults([
            'required' => false, …
Run Code Online (Sandbox Code Playgroud)

symfony-forms symfony symfony-2.4

2
推荐指数
1
解决办法
1020
查看次数

将“验证约束”添加到未附加到实体的表单

我创建了以下 fom 类,但没有使用实体

<?php
// src/OC/PlatformBundle/Form/AdvertType.php

namespace OC\PlatformBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class MyFormType extends AbstractType
{
  public function buildForm(FormBuilderInterface $builder, array $options)
  {
    $builder
      ->add('date',      'date')
      ->add('title',     'text')          
      ->add('save',      'submit')
    ;
  }

  public function setDefaultOptions(OptionsResolverInterface $resolver)
  {
    $resolver->setDefaults(array());
  }

  public function getName()
  {
    return 'my_form';
  }
}
Run Code Online (Sandbox Code Playgroud)

我想添加一组验证约束来验证此表单。

symfony-forms symfony

2
推荐指数
1
解决办法
7603
查看次数

将表单工厂注入服务

我正在尝试创建一个管理器来处理控制器的基本请求(列表、新建、编辑、删除)。我需要在此服务的构造函数中注入表单工厂。我应该叫什么名字?

我需要这样的东西:

lp_ExpedienteManager:
    class: AppBundle\Services\ExpedienteManager\ExpedienteManager
    arguments:    [ "@doctrine.orm.entity_manager", "@security.token_storage", "@form_factory" ]
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间!

symfony-forms symfony

2
推荐指数
1
解决办法
2990
查看次数

Symfony - 在 INSERT、UPDATE 或 DELETE 中以不同方式验证实体

我想在创建、更新或删除实体时以不同的方式验证实体原则。

我的实体类中有一个实体约束验证器。

// src/AppBundle/Entity/AcmeEntity.php
use AppBundle\Validator\Constraints as AcmeAssert;

/**
* @AcmeAssert\CustomConstraint
*/
class AcmeEntity
{
    // ...
    protected $name;

    // ...
}
Run Code Online (Sandbox Code Playgroud)

在我的 CustomConstraint 中,我想确定实体是否会被更新、创建或删除以执行特定的验证器。

使用工作单元是一种解决方案吗?

做这个的最好方法是什么?

我认为这个问题在很多应用程序中都很常见?

谢谢大家 ;)

symfony-forms symfony doctrine-orm symfony-validator

2
推荐指数
1
解决办法
1950
查看次数

Symfony表单验证约束表达式

我有表单,需要创建内联验证:

$builder
        ->add('Count1', 'integer', [
            'data'        => 1,
            'constraints' => [
                new NotBlank(),
                new NotNull(),
            ],
        ])
        ->add('Count2', 'integer', [
            'constraints' => [
                new NotBlank(),
                new NotNull(),
            ],
        ])
        ->add('Count3', 'integer', [
            'data'        => 0,
            'constraints' => [
                new NotBlank(),
                new NotNull(),
            ],
        ])
Run Code Online (Sandbox Code Playgroud)

白色内联验证如何表达规则

  1. Count2> = Count1
  2. Count3 <= Count2
  3. Count2> = $ someVariable

validation symfony-forms symfony symfony-validator

2
推荐指数
1
解决办法
2862
查看次数

从 Symfony DateType::class 禁用日期和月份

->add('attendFrom', DateType::class, array(
                'widget' => 'choice',
                'html5' => false,
                'months' => array(),
                'days' => array(),
                'attr' => array(
                    'placeholder' => 'Start year, e.g., 1980 ',
                )
            ))
Run Code Online (Sandbox Code Playgroud)

我尝试禁用日期和月份的类型。我只想展示几年。这是可能的吗?

我找到了一些解决方案来隐藏树枝上的几天和几个月,但我想知道我是否可以从 FormType 中禁用它。

干杯

symfony-forms symfony

2
推荐指数
1
解决办法
2612
查看次数

带有 Put 方法的 symfony 表单中的表单 isSubscribed False

我用来form.factory创建一个表单和树枝来渲染该表单。在这种情况下我必须使用PUT方法。我的代码是:

\n\n

控制器:

\n\n
$builder = $this->get(\'form.factory\')->createNamedBuilder();\n$form = $builder\n    ->add(\'id\', HiddenType::class, array(\'data\' => $id))\n    ->add(\'email\', EmailType::class, array(\n        \'required\' => false,\n        \'data\' => count($res[\'result\'][0][\'email\']) ? $res[\'result\'][0][\'email\'] : \'\',\n        \'attr\' => array(\'class\' => \'form-control label_form_symfony\'),\n        \'constraints\' => array(\n            new Email(array(\'message\' => \'il campo Email non \xc3\xa8 valido\'))\n        )\n    ))\n    ->getForm();\n\n$form->handleRequest($request);\n\nif ($form->isSubmitted() && $request->isXmlHttpRequest()) {\n    $data = $form->getData();\n\n    if ($form->isValid()) {\n        // save ...\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

树枝模板:

\n\n
{{ form_start(form,{\'method\':\'PUT\',\'attr\':{action: path(\'update_xxx\',{\'id\' : id})}}) }}\n    {{ form_widget(form, {\'attr\' : {\'class\' …
Run Code Online (Sandbox Code Playgroud)

symfony-forms symfony

2
推荐指数
1
解决办法
5675
查看次数

如何以 Symfony 形式制作 RadioButton?

我有我必须用 Symfony Form 重做的表格,但我坚持在这个地方:

<div class="currency-label">
    <input checked id="cur1" name="currency" type="radio">
    <label for="cur1">EURO</label>
</div>
<div class="currency-label active">
    <input id="cur2" name="currency" type="radio">
    <label for="cur2">USD</label>
</div>
Run Code Online (Sandbox Code Playgroud)

这是它的外观: 它应该看起来如何

如何使用 Symfony Forms 制作单选按钮?在我的表单类中,我添加了:

->add('vacancyCurrency', RadioType::class, ['required' => false])
Run Code Online (Sandbox Code Playgroud)

和我的模板

{{ form_widget(form.vacancyCurrency) }}
Run Code Online (Sandbox Code Playgroud)

我的表格变短了,显然没有 css : 没有 css 的样子 如果我添加 css 类来形成它看起来不同:

{{ form_widget(form.vacancyCurrency, {'attr':
      {'class': 'currency-label'}
}) }}
Run Code Online (Sandbox Code Playgroud)

说明 1

symfony-forms symfony

2
推荐指数
2
解决办法
3047
查看次数