braincrafted/validation-bundle

Symfony2 验证器

v0.3 2013-12-21 09:17 UTC

This package is auto-updated.

Last update: 2024-09-20 09:46:59 UTC


README

由维也纳的 Florian Eckerstorfer 精心制作。

Build Status Scrutinizer Quality Score Code Coverage

安装

BraincraftedValidationBundle 可以使用 Composer 进行安装。

{
    "require": {
        "braincrafted/validation-bundle": "@stable"
    }
}

@stable 替换为最新的稳定版本。

用法

如果 BraincraftedValidationBundle 已添加到项目中,可以使用其验证器,就像使用其他任何 Symfony2 验证器一样。

使用 YAML

# src/Acme/BlogBundle/Resources/config/validation.yml
Acme\DemoBundle\Entity\AcmeEntity:
    properties:
        name:
            - NotBlank: ~
            - Braincrafted\Bundle\ValidationBundle\Validator\Constraints\Enum:
                allowedValues: ["ACTIVE", "PAUSED", "DELETED"]

使用注解

// src/Acme/DemoBundle/Entity/AcmeEntity.php
use Symfony\Component\Validator\Constraints as Assert;
use Braincrafted\Bundle\ValidationBundle\Validator\Constraints as BraincraftedAssert;

class AcmeEntity
{
    // ...
    /**
     * @Assert\NotBlank
     * @BraincraftedAssert\Enum(allowedValues={"ACTIVE", "PAUSED, "DELETED""})
     */
    protected $status;
    // ...
}

使用 XML

<!-- src/Acme/DemoBundle/Resources/config/validation.xml -->
<?xml version="1.0" encoding="UTF-8" ?>
<constraint-mapping xmlns="https://symfony.ac.cn/schema/dic/constraint-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://symfony.ac.cn/schema/dic/constraint-mapping https://symfony.ac.cn/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd">

    <class name="Acme\DemoBundle\Entity\AcmeEntity">
        <property name="name">
            <constraint name="NotBlank" />
            <constraint name="Braincrafted\Bundle\ValidationBundle\Validator\Constraints\Enum">
                <option name="allowedValues">
                    <value>ACTIVE</value>
                    <value>PAUSED</value>
                    <value>DELETED</value>
                </option>
            </constraint>
        </property>
    </class>
</constraint-mapping>

使用 PHP

// src/Acme/DemoBundle/Entity/AcmeEntity.php
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
use Braincrafted\Bundle\ValidationBundle\Validator\Constraints\Enum;

class AcmeEntity
{
    public $name;

    public static function loadValidatorMetadata(ClassMetadata $metadata)
    {
        $metadata->addPropertyConstraint('status', new NotBlank());
        $metadata->addPropertyConstraint('status', new Enum(array('ACTIVE', 'PAUSED', 'DELETED')));
    }
}

可用的验证器

Enum

  • 选项
    • string message
    • array allowedValues

变更日志

版本 0.3 (2013年11月21日)

  • #6: 修复了错误信息 [由 Tobur 提供的]

版本 0.2 (2013年11月17日)

  • 将命名空间更改为 Braincrafted\Bundle\ValidationBundle

许可协议

MIT 许可协议 (MIT)

版权 (c) 2012-2013 Florian Eckerstorfer

以下条件,任何获得此软件及其相关文档文件(“软件”)副本的个人,均可免费使用软件而不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向提供软件的个人提供使用本软件的权利,前提是必须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,包括但不限于软件或软件的使用或其他交易。

Bitdeli Badge