【问题标题】:Add assert info to symfony command line generations of CRUD entities将断言信息添加到 CRUD 实体的 symfony 命令行生成
【发布时间】:2014-06-10 12:55:39
【问题描述】:

是否可以在生成实体时在命令行中添加 Assert 要求?换句话说,当我运行“../app/console dictionary:generate:entity ...”时,如何添加信息以使实体具有此处显示的断言类型:

/**
 * 
 * @var string $PID
 * @ORM\Column(name="PID", type="string", length=50)
 * 
 * 
 * @Assert\Regex(
 *   pattern="/^(\d{7,7}[Aa])$|^(\d{8,8})$/",
 *   message="Format Must Be 8 digets Or 7 Digits Followed By 'A'"
 * )
 */
private $PID;

【问题讨论】:

    标签: symfony entity assertions


    【解决方案1】:

    您仍然可以使用验证组件:

    http://symfony.com/doc/current/book/validation.html

    只需在创建实体时使用它来验证它:

    $validator = $this->get('validator'); // Or wherever you can get services from
    $errors    = $validator->validate($entity);
    
    if (count($errors) > 0) {
        // Handle errors here...
    } else {
        // Success!
    }
    

    【讨论】:

    • 是的,但我正在寻找可以从 Symfony 命令行执行的语法——如果它存在的话。
    • 哦,我想我现在明白你的意思了。您想在生成实体时自动生成断言吗?没有任何内置功能。多亏了 Doctrine,您运行生成实体的命令是内置的,但验证组件与 Doctrine 完全分开。如果您想要这种行为,您可以添加自己的命令来执行此操作,但我愿意打赌这并不容易。问题是,您的断言适用于表单之类的东西,因此自动生成它非常困难。
    • 谢谢先知。这就是我开始怀疑的。
    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 2013-03-18
    相关资源
    最近更新 更多