php - Symfony 使用表单验证实体

标签 php forms symfony

    $userData = (new User())
        ->setPersonCode(123)
        ->setPhone('+470002342342342');

    $userForm = $this->toolbar->getForm(UserType::class, $userData);

我正在从设置数据的实体类创建表单。如果现在我尝试使用:

$userForm->isValid();

我得到true,因为表单数据未提交,我如何进行验证,而不需要手动将数据设置到表单并提交?

最佳答案

如果您不想向表单提交数据,请完全跳过表单;使用Validator直接服务:

<?php

// (Assuming you're in a controller, otherwise inject the validator some other way.)

$userData = (new User())
    ->setPersonCode(123)
    ->setPhone('+470002342342342');

$validator = $this->get('validator');
$errors    = $validator->validate($userData);
$isValid   = count($errors) === 0;

关于php - Symfony 使用表单验证实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40182203/

相关文章:

php - 我需要使用哪些 Web 技术来创建类似 Windows 窗体的界面?

javascript - 通过 ajax 调用向序列化表单添加额外数据

javascript - PHP 表单提交无需重新加载

php - Symfony2 Sonata 项目 sonata_type_model 与 OneToMany 实体 sortby

php - 如何在 php 中从数据库 mysql 中获取正确的值?

php - mysql 语句->fetch() 在循环时失败

php - Magento Cron Tab 作业时区

angularjs - 如何在最小长度验证angularjs中显示输入长度

php - 学说 : How to store dynamic attributes

php - Symfony 2.1 Doctrine 装置安装