Mic*_*ine 7 php forms validation symfony
我所要做的就是:
在yml中定义约束
用它来验证一个数组
说,一个产品阵列:
$product['name'] = 'A book';
$product['date'] = '2012-09';
$product['price'] = '21.5';
Run Code Online (Sandbox Code Playgroud)
怎么做?
cho*_*obs -1
在你的validation.yml中:
Acme\DemoBundle\Entity\AcmeEntity:
properties:
price:
- NotBlank: ~
- Acme\DemoBundle\Validator\Constraints\ContainsAlphanumeric: ~
Run Code Online (Sandbox Code Playgroud)
并且您的包含字母数字:
<?php
namespace Acme\DemoBundle\Validator\Constraints;
use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;
class ContainsAlphanumericValidator extends ConstraintValidator
{
public function validate($value, Constraint $constraint)
{
if (!preg_match('/^[a-zA-Za0-9]+$/', $value, $matches)) {
$this->context->addViolation($constraint->message, array('%string%' => $value));
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)