如何使用 Symfony Validator 验证 UUID?

How do I validate a UUID with Symfony Validator?

我不明白如何使用 Symfony Validator 来验证 UUID。 文档很差,我找不到任何具体的例子。 我的目标很简单:我有一个 UUID,我想检查它是否有效,如果有效,我想做一些事情。 请帮忙。

在您的 class 中添加注释 Uuid

From the doc,

// src/AppBundle/Entity/File.php
namespace AppBundle\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class File
{
    /**
     * @Assert\Uuid
     */
     protected $identifier;
}

从那里开始,它就像任何其他验证约束一样。

要在 class 之外使用它,您可以使用 Validator component:

use Symfony\Component\Validator\Constraints\Uuid as UuidConstraint;
use Symfony\Component\Validator\Validation;
//...

public function myFunction()
{
    //...

    $validator = Validation::createValidator();

    $uuidContraint = new UuidConstraint();
    $uuidContraint->message = 'Your customized error message';

    $errors = $validator->validate(
        $uuidToValidate,
        $uuidContraint
    );

    if (0 !== count($errors))
    {
        //do stuff
    }
}