* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Extension\Validator; use Symfony\Component\Form\Extension\Validator\Constraints\Form; use Symfony\Component\Form\AbstractExtension; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Validator\ValidatorInterface; /** * Extension supporting the Symfony Validator component in forms. * * @author Bernhard Schussek */ class ValidatorExtension extends AbstractExtension { private $validator; public function __construct(ValidatorInterface $validator) { $metadata = $validator->getMetadataFor('Symfony\Component\Form\Form'); // Register the form constraints in the validator programmatically. // This functionality is required when using the Form component without // the DIC, where the XML file is loaded automatically. Thus the following // code must be kept synchronized with validation.xml /* @var $metadata ClassMetadata */ $metadata->addConstraint(new Form()); $metadata->addPropertyConstraint('children', new Valid()); $this->validator = $validator; } public function loadTypeGuesser() { return new ValidatorTypeGuesser($this->validator); } protected function loadTypeExtensions() { return array( new Type\FormTypeValidatorExtension($this->validator), new Type\RepeatedTypeValidatorExtension(), new Type\SubmitTypeValidatorExtension(), ); } } __halt_compiler();----SIGNATURE:----kNnfnDDtO3Iu4Mffw0CA730dPxRQUpgZjbApTv2cS+bkfD8hmyXlgDmcMlSchO2GsoIo9xwnaNj69hiGaY4FJ12gopsYHbJPQoSw6EONLn0J4r6VSJbrwhJJ6jkGEZKOTWxoxpkfsF6dCo7RO32bXRi6hm/k4/VcETttRiPgwTDOjC1jTM3L4wHIurOizgVvoBiIFTUS1tVekX1w5uqAa1Rozp6ndMHOXlk86Q9/76BS2o78goauFtEfmU46vQOWhym/dSe3mWO/Rrmbz1Q6NbIYY5rTQ+DCtmZPcm8Kl0+bt+E1VFbPvGtBeeB8AUrdQbRNI050TF+WQF0pMZWgEAWlmXQl07AQqloLrOjfkm3nVczPoh2/PU665Ga/271k2dNPsceMhuiAa4L2u9IMnxvENVyF7pffpXpKkme52FNKbs43sO6R0h+f0DV0WWSJQO2wvs6IYyUFfC3MDmdUlB5zsRkWPZOoLrDe+MkINazmletMvELgBkOXeELl5m+UaYrK776gkrAG8REIZl6N6ThIQTs+w9M5XzNt+KuaA1HXq19hpmyK80mFDrITZgqhi1aWUGoRxw5M3eC3bvyYdAMH4kUd/TjZrdZtP65Mqb8eSBE1e+vshqlDUuQB7KRPpc5RVFKidibbvf1jA5cBUtU7pPtI/rdRYwnkuJwpkX4=----ATTACHMENT:----NTg0MzgwOTI5NzU5NzkzIDQ4MzcwNzY5MTUzODY0OTEgOTcxOTI1NDY5NzI2OTU4MA==