umpirsky / zymfony-validator
Zend 验证器适配器用于 Symfony。
2.2.0
2013-04-28 20:17 UTC
Requires
- php: >=5.3.3
- symfony/validator: 2.2.*
- zendframework/zend-validator: 2.1.*
This package is not auto-updated.
Last update: 2024-09-14 13:25:19 UTC
README
Zend 验证器适配器用于 Symfony。
Zend 框架附带了一组优秀的验证类。Symfony 也提供了良好的验证组件,但缺少一些 Zend 已经拥有的验证器,如信用卡、邮编、主机名、IBAN...
Zymfony 验证器是这两个验证器之间的桥梁,并为 Zend 验证器提供了 Symfonic 接口。
安装
推荐通过 composer 安装 Zymfony 验证器。
{ "require": { "umpirsky/zymfony-validator": "2.2.*" } }
示例
基本用法
<?php use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; use Zymfony\Component\Validator\Constraint; class ZymfonyType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder ->add('credit_card_number', 'text', array( 'constraints' => new Constraint(array( 'validator' => 'creditcard', )) )); } }
自定义选项和消息
<?php use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; use Zend\Validator\StringLength; use Zymfony\Component\Validator\Constraint; class ZymfonyType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder ->add('my_cool_string', 'text', array( 'constraints' => new Constraint(array( 'validator' => 'stringlength', 'options' => array( 'min' => 2, 'max' => 8, 'messages' => array( StringLength::TOO_LONG => 'My cool string is more than %max% characters long.' ) ) )) )); } }
注解
<?php use Zymfony\Component\Validator\Constraint; class ZymfonyModel { /** * @Constraint(validator = "creditcard") */ protected $creditCard; }
Yaml
ZymfonyModel: properties: creditcard: - Zymfony\Component\Validator\Constraint: validator: creditcard
可用的验证器
- alnum
- alpha
- barcodecode25interleaved
- barcodecode25
- barcodecode39ext
- barcodecode39
- barcodecode93ext
- barcodecode93
- barcodeean12
- barcodeean13
- barcodeean14
- barcodeean18
- barcodeean2
- barcodeean5
- barcodeean8
- barcodegtin12
- barcodegtin13
- barcodegtin14
- barcodeidentcode
- barcodeintelligentmail
- barcodeissn
- barcodeitf14
- barcodeleitcode
- barcodeplanet
- barcodepostnet
- barcoderoyalmail
- barcodesscc
- barcodeupca
- barcodeupce
- barcode
- between
- callback
- creditcard
- csrf
- date
- datestep
- dbnorecordexists
- dbrecordexists
- digits
- emailaddress
- explode
- filecount
- filecrc32
- fileexcludeextension
- fileexcludemimetype
- fileexists
- fileextension
- filefilessize
- filehash
- fileimagesize
- fileiscompressed
- fileisimage
- filemd5
- filemimetype
- filenotexists
- filesha1
- filesize
- fileupload
- filewordcount
- float
- greaterthan
- hex
- hostname
- iban
- identical
- inarray
- int
- ip
- isbn
- lessthan
- notempty
- postcode
- regex
- sitemapchangefreq
- sitemaplastmod
- sitemaploc
- sitemappriority
- stringlength
- step
- uri
测试
要运行测试套件,您需要 PHPUnit。
$ phpunit
许可证
Zymfony 验证器采用 MIT 许可证。