标签: symfony-forms

在 EasyAdmin 3.x 上使用验证组

我想在创建新用户时使用 EasyAdmin 3.x 的验证组来验证每个字段。

\n

我有一个包含namephoneemail字段的 User 实体,并在“创建”组中使用 @UniqueEntity ,因此我可以在 EasyAdmin 外部创建的表单中更新用户。这工作得很好,但当我使用新的组时,我无法找到如何告诉 EasyAdmin 使用默认组和我的创建组我的创建组。

\n

这是带有我所具有的约束的简化用户实体

\n
use Doctrine\\ORM\\Mapping as ORM;\nuse Symfony\\Bridge\\Doctrine\\Validator\\Constraints\\UniqueEntity;\nuse Symfony\\Component\\Validator\\Constraints as Assert;\n\n/**\n * @ORM\\Entity(repositoryClass=LeadRepository::class)\n * @ORM\\HasLifecycleCallbacks()\n * @UniqueEntity(\n *  fields="cellphone",\n *  message="Ya existe un usuario con este n\xc3\xbamero telef\xc3\xb3nico",\n *  groups={"creation"}\n * )\n * @UniqueEntity(\n *  fields="email",\n *  message="Ya existe un usuario con este email",\n *  groups={"creation"}\n * )\n */\nclass Lead\n{\n    /**\n     * @ORM\\Id()\n     * @ORM\\GeneratedValue()\n     * @ORM\\Column(type="integer")\n …
Run Code Online (Sandbox Code Playgroud)

php symfony-forms symfony easyadmin

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

Symfony 表单:所选选项无效

我的 symfony 应用程序有这个实体

\n
<?php\n\nnamespace App\\Entity;\n\nclass Lead\n{\n    private ?string $zipCode;\n    private ?string $city;\n\n    public function getZipCode(): ?string\n    {\n        return $this->zipCode;\n    }\n\n    public function setZipCode(string $zipCode): self\n    {\n        $this->zipCode = $zipCode;\n\n        return $this;\n    }\n\n    public function getCity(): ?string\n    {\n        return $this->city;\n    }\n\n    public function setCity(string $city): self\n    {\n        $this->city = $city;\n\n        return $this;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

表单LeadType为:

\n
$builder->add(\'zipCode\', TextType::class, [\n        \'attr\' => [\n            \'placeholder\' => \'Ex : 44000\',\n            \'onchange\' => \'cityChoices(this.value)\',\n        ]\n    ])\n    ->add(\'city\', ChoiceType::class, [\n        \'choices\' …
Run Code Online (Sandbox Code Playgroud)

php forms validation symfony-forms symfony

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

如何修复 Symfony 6 错误“输入值包含非标量值”

我正在使用 Symfony 6 表单。我尝试使用该方法提交表单submit()。从文档Symfony Form Direct Submit中,错误原因被阐明为“使用 Submit() 方法提交的字段列表必须与表单类定义的字段相同。否则,您将看到表单验证错误: ”。我该如何调试并解决这种错误?

symfony-forms symfony symfony6

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

在symfony中为所有表单小部件添加类

我试图找到一种更好的方法来分配类来形成symfony中的元素.目前,我似乎无法手动分配每一个.即:

$this->widgetSchema['title']->setAttribute("class","fieldInput");
$this->widgetSchema['tag_line']->setAttribute("class","fieldInput");
$this->widgetSchema['description']->setAttribute("class","fieldInput");
// etc
Run Code Online (Sandbox Code Playgroud)

我尝试过没有成功的事情

1)循环遍历$ this-> widgetSchema,将其视为一个数组并将属性设置为每个键

2)$ this-> widgetSchema-> setAttribute()但这只是将类应用于生成的标签,而不是表单元素

必须有一种方法来击中所有的领域,而无需专门指导他们?

谁能指出我正确的方向?

symfony1 symfony-forms

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

FosUserBundle - 使用户名可以为空

Commuity,

我使用FosUserBundle,我的用户名有问题.

在我的页面上,您只需要一封电子邮件和一个密码.=>你可以使用用户名!(因为那样,我无法使用setUsername($ email)^^覆盖实体中的setEmail()函数

如果我在我的配置中使用它,我会收到以下错误.

fos_user:
    registration:
        form:
            validation_groups: [AppRegistration]
Run Code Online (Sandbox Code Playgroud)

错误:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'username' cannot be null 
Run Code Online (Sandbox Code Playgroud)

我能做什么?

先感谢您!

null entity symfony-forms symfony fosuserbundle

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

Symfony错误 - EntityManager#persist()期望参数1是一个实体对象,给定数组

我是symfony的新手..我在以数组的形式保存数据时遇到了一些麻烦..我每次都会收到此错误.

"EntityManager#persist()期望参数1是实体对象,给定数组.

500内部服务器错误 - ORMInvalidArgumentException"

这是我的代码..

我的表格类型

<?php

namespace Demo\FirstBundle\Form\Type;

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

class ShiftType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('date', 'date', array(
            	'label' => 'Shift Date',
            	'attr' => array(
            		'class' => 'form-control'
            	)
            ))
            
            ->add('site_name', 'text', array(
            	'label' => 'Site Name',
            	'attr' => array(
            		'class' => 'form-control'
            	)
            ))

            ->add('location', 'text', array(
            	'label' => 'Site Location',
            	'attr' => array(
            		'class' => 'form-control'
            	)
            ))

            ->add('startTime', 'time', array(
            	'label' => 'Start time',
            	'attr' …
Run Code Online (Sandbox Code Playgroud)

php arrays symfony-forms symfony doctrine-orm

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

无法加载类型Symfony2

好吧,它可能很简单,但我无法找到问题所在.我试过但我的问题没有匹配

我试图从形式类创建,而不是在控制器中创建表单..

这是代码..

这是来自控制器

    /**
 * @Route("login", name="login")
 */
public function loginAction (Request $request) {
    $registration = new Registration();

    $form = $this->createForm(LoginForm::class, $registration, array(
        'method' => 'POST'
    ));

    return $this->render(
        'admin/login.html.twig',
        array('form' => $form->createView())
    );
}
Run Code Online (Sandbox Code Playgroud)

在控制器内部,我使用USE来定义LoginForm,我在部分createForm中使用,所以这不是问题

这是来自FORM类

<?php

namespace AppBundle\AppForm;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

class LoginForm extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name')
        ->add('password')
        ->add('save', SubmitType::class);
}
public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
        array(
          'data_class' => 'AppBundle\Entity\Registration'
        ));
}

public function getName() …
Run Code Online (Sandbox Code Playgroud)

php symfony-forms symfony

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

Symfony 3翻译错误验证器范围

我想翻译以下Range的错误消息: 此值应该是1990年1月1日,12:00 AM或更多。

我正在使用Symfony的功能,该功能可解决除此错误以外的其他错误:

$this->get('translator')->trans($err, [], 'validators')

我是否应该使用其他方法来翻译此错误?

php translate symfony-forms symfony

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

从树枝上隐藏不需要的Symfony表单字段

在树枝中显示Symfony表单时,如何隐藏不在form_widget中的字段

{{ form_start(form) }}
    {{ form_widget(form.field1) }}
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)

如果我在表单类型中有field2,它将默认显示在twig中,无论我没有在form_widget中插入

class MessageFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('field1', TextType::class, array())

            ->add('field2', TextType::class, array())
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在用css隐藏那些不需要的fieled,我想知道是否有一些优雅的解决方案?

symfony-forms symfony twig

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

使用ManyToOne验证

我有一个实体"元素"与List的ManyToOne关系(列表可以有多个元素)

/**
 * @ORM\ManyToOne(targetEntity="Liste")
 */
private $list;
Run Code Online (Sandbox Code Playgroud)

如何通过传递列表的id而不是列表本身来验证表单以添加新元素?(列表必须存在)

forms validation symfony-forms symfony

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