braincrafted / validation-bundle
Symfony2 验证器
v0.3
2013-12-21 09:17 UTC
Requires
- php: >=5.3.3
- symfony/validator: 2.3.*
Requires (Dev)
- phpunit/phpunit: ~3.7
README
由维也纳的 Florian Eckerstorfer 精心制作。
安装
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
messagearray
allowedValues
变更日志
版本 0.3 (2013年11月21日)
- #6: 修复了错误信息 [由 Tobur 提供的]
版本 0.2 (2013年11月17日)
- 将命名空间更改为
Braincrafted\Bundle\ValidationBundle
许可协议
MIT 许可协议 (MIT)
版权 (c) 2012-2013 Florian Eckerstorfer
以下条件,任何获得此软件及其相关文档文件(“软件”)副本的个人,均可免费使用软件而不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向提供软件的个人提供使用本软件的权利,前提是必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,包括但不限于软件或软件的使用或其他交易。