umpirsky/zymfony-validator

Zend validator adapter for Symfony.

2.2.0 2013-04-28 20:17 UTC

This package is not auto-updated.

Last update: 2024-12-21 14:37:47 UTC


README

Zend validator adapter for Symfony.

Zend Framework comes with a nice set of validation classes. Symfony provides nice validator component as well, but lacks some validators Zend already have like credit card, post code, hostname, iban...

Zymfony Validator is a bridge between this two validators, and provides Symfonic interface for Zend validators.

Installation

The recommended way to install Zymfony Validator is through composer.

{
    "require": {
        "umpirsky/zymfony-validator": "2.2.*"
    }
}

Examples

Basic Usage

<?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',
                ))
            ));
    }
}

Custom Options and Messages

<?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.'
                        )
                    )
                ))
            ));
    }
}

See more examples.

Annotations

<?php

use Zymfony\Component\Validator\Constraint;

class ZymfonyModel
{
    /**
     * @Constraint(validator = "creditcard")
     */
    protected $creditCard;
}

See more examples.

Yaml

ZymfonyModel:
    properties:
        creditcard:
            - Zymfony\Component\Validator\Constraint:
                validator: creditcard

Validators Available

Tests

To run the test suite, you need PHPUnit.

$ phpunit

License

Zymfony Validator is licensed under the MIT license.