概述 快速入门 教程 手册 最佳实践 组件 参考 贡献

发布于 2015-08-27 16:41:54 | 189 次阅读 | 评论: 0 | 来源: 网络整理

Validates that a value is a valid Universally unique identifier (UUID) per RFC 4122. By default, this will validate the format according to the RFC’s guidelines, but this can be relaxed to accept non-standard UUIDs that other systems (like PostgreSQL) accept. UUID versions can also be restricted using a whitelist.

Applies to property or method
Options
Class Uuid
Validator UuidValidator

Basic Usage

  • YAML
    # src/UploadsBundle/Resources/config/validation.yml
    AcmeUploadsBundleEntityFile:
        properties:
            identifier:
                - Uuid: ~
    
  • Annotations
    // src/Acme/UploadsBundle/Entity/File.php
    namespace AcmeUploadsBundleEntity;
    
    use SymfonyComponentValidatorConstraints as Assert;
    
    class File
    {
        /**
         * @AssertUuid
         */
         protected $identifier;
    }
    
  • XML
    <!-- src/Acme/UploadsBundle/Resources/config/validation.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">
    
        <class name="AcmeUploadsBundleEntityFile">
            <property name="identifier">
                <constraint name="Uuid" />
            </property>
        </class>
    </constraint-mapping>
    
  • PHP
    // src/Acme/UploadsBundle/Entity/File.php
    namespace AcmeUploadsBundleEntity;
    
    use SymfonyComponentValidatorMappingClassMetadata;
    use SymfonyComponentValidatorConstraints as Assert;
    
    class File
    {
        public static function loadValidatorMetadata(ClassMetadata $metadata)
        {
            $metadata->addPropertyConstraint('identifier', new AssertUuid());
        }
    }
    

Options

message

type: string default: This is not a valid UUID.

This message is shown if the string is not a valid UUID.

strict

type: boolean default: true

If this option is set to true the constraint will check if the UUID is formatted per the RFC’s input format rules: 216fff40-98d9-11e3-a5e2-0800200c9a66. Setting this to false will allow alternate input formats like:

  • 216f-ff40-98d9-11e3-a5e2-0800-200c-9a66
  • {216fff40-98d9-11e3-a5e2-0800200c9a66}
  • 216fff4098d911e3a5e20800200c9a66

versions

type: int[] default: [1,2,3,4,5]

This option can be used to only allow specific UUID versions. Valid versions are 1 - 5. The following PHP constants can also be used:

  • Uuid::V1_MAC
  • Uuid::V2_DCE
  • Uuid::V3_MD5
  • Uuid::V4_RANDOM
  • Uuid::V5_SHA1

All five versions are allowed by default.

payload

type: mixed default: null

2.6 新版功能: The payload option was introduced in Symfony 2.6.

This option can be used to attach arbitrary domain-specific data to a constraint. The configured payload is not used by the Validator component, but its processing is completely up to.

For example, you may want to used several error levels to present failed constraint differently in the front-end depending on the severity of the error.

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务