繁体   English   中英

在 laravel/doctrine 中实现 symfony/constraint/validation 作为断言

[英]implement symfony/constraint/validation as assert in laravel/doctrine

对于一个新项目,我使用Laravel/Doctrine

一切正常,我也实现了身份验证服务。

我经常使用 symfony,所以我想知道是否有一种方法可以在 Laravel 中实现Symfony 验证约束的学说,或者其他任何类似 Laravel 中的 symfony 组件的东西。

为了在我的学说中使用这样的实体:

use Symfony\Component\Validator\Constraints as Assert;

class Test
{
    /**
     * @Assert\Email(
     *     message = "The email '{{ value }}' is not a valid email.",
     *     checkMX = true
     * )
     */
     protected $email;
}

有没有办法告诉我如何在良好实践中做到这一点?

我认为学说甚至不“知道”symfonys Validator Constraints。 它是DoctrineBundle粘合 symfony/验证器。

所以也许你可以安装 symfony/validator 并自己做胶水代码。

这是将验证器绑定到学说的 DIC 配置: https : //github.com/doctrine/DoctrineBundle/blob/master/Resources/config/orm.xml#L47

作曲家.json

    "symfony/validator": "^5.1",
    "laravel-doctrine/orm": "~1.5",
    "doctrine/annotations": "^1.11",

公共/index.php

use Doctrine\Common\Annotations\AnnotationRegistry;

$loader = require __DIR__.'/../vendor/autoload.php';

AnnotationRegistry::registerLoader(array($loader, "loadClass"));

为了正确工作,控制台学说工具也需要添加

工匠

use Doctrine\Common\Annotations\AnnotationRegistry;
$loader = require __DIR__.'/vendor/autoload.php';
AnnotationRegistry::registerLoader(array($loader, "loadClass"));

您可以通过Symfony\\Component\\Validator\\Constraints使用验证器来验证实体

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM