【问题标题】:Form model bypasses validation表单模型绕过验证
【发布时间】:2012-12-24 11:58:17
【问题描述】:

我有一个带有验证约束的用户模型MyProject\SecurityBundle\Entity\User。为了我的注册,我创建了MyProject\SecurityBundle\Form\Model\Registration

namespace MyProject\SecurityBundle\Form\Model;

use MyProject\SecurityBundle\Entity\User;

class Registration
{
    private $user;

    private $termsAccepted;

    public function setUser(User $user)
    {
        $this->user = $user;
        return $this;
    }

    public function getUser()
    {
        return $this->user;
    }

    public function setTermsAccepted($termsAccepted)
    {
        $this->termsAccepted = (boolean)$termsAccepted;
        return $this;
    }

    public function getTermsAccepted()
    {
        return $this->termsAccepted;
    }
}

有验证:

MyProject\SecurityBundle\Form\Model\Registration:
    properties:
        user:
            - Type: { type: MyProject\SecurityBundle\Entity\User }
        termsAccepted:
            - NotBlank: ~
    getters:
        termsAccepted:
            - "True": ~

此验证有效,但用户实体的验证被此绕过。有什么方法可以将验证传输到我的注册模型中?

【问题讨论】:

    标签: php validation symfony doctrine-orm


    【解决方案1】:

    如果我在 正确 的地方进行搜索,我会在文档中找到 http://symfony.com/doc/2.0/reference/constraints/Valid.html 这个并附带解决方案:

    MyProject\SecurityBundle\Form\Model\Registration:
        properties:
            user:
                - Type: { type: MyProject\SecurityBundle\Entity\User }
                - Valid: ~
    

    【讨论】:

      猜你喜欢
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多