本文整理汇总了PHP中Symfony\Component\Validator\ValidatorInterface::getMetadataFactory方法的典型用法代码示例。如果您正苦于以下问题:PHP ValidatorInterface::getMetadataFactory方法的具体用法?PHP ValidatorInterface::getMetadataFactory怎么用?PHP ValidatorInterface::getMetadataFactory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Validator\ValidatorInterface
的用法示例。
在下文中一共展示了ValidatorInterface::getMetadataFactory方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateXApiValidator
private function validateXApiValidator(ValidatorInterface $validator)
{
$metadataFactory = $validator->getMetadataFactory();
$this->assertTrue($metadataFactory->hasMetadataFor('\\XApi\\Model\\Activity'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\XApi\\Model\\Agent'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\XApi\\Model\\Activity'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\XApi\\Model\\Activity'));
}
示例2: validateXApiValidator
private function validateXApiValidator(ValidatorInterface $validator)
{
if ($validator instanceof MetadataFactoryInterface) {
$metadataFactory = $validator;
} else {
$metadataFactory = $validator->getMetadataFactory();
}
$this->assertTrue($metadataFactory->hasMetadataFor('\\Xabbuh\\XApi\\Model\\Activity'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\Xabbuh\\XApi\\Model\\Agent'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\Xabbuh\\XApi\\Model\\Activity'));
$this->assertTrue($metadataFactory->hasMetadataFor('\\Xabbuh\\XApi\\Model\\Activity'));
}
示例3: __construct
/**
* @param ValidatorInterface|LegacyValidatorInterface $validator
*
* @throws UnexpectedTypeException If $validator is invalid
*/
public function __construct($validator)
{
// 2.5 API
if ($validator instanceof ValidatorInterface) {
$metadata = $validator->getMetadataFor('Symfony\\Component\\Form\\Form');
// 2.4 API
} elseif ($validator instanceof LegacyValidatorInterface) {
$metadata = $validator->getMetadataFactory()->getMetadataFor('Symfony\\Component\\Form\\Form');
} else {
throw new UnexpectedTypeException($validator, 'Symfony\\Component\\Validator\\Validator\\ValidatorInterface or Symfony\\Component\\Validator\\ValidatorInterface');
}
// 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;
}
示例4: __construct
/**
* @param ValidatorInterface|LegacyValidatorInterface $validator
*
* @throws UnexpectedTypeException If $validator is invalid
*/
public function __construct($validator)
{
// 2.5 API
if ($validator instanceof ValidatorInterface) {
$metadata = $validator->getMetadataFor('Symfony\\Component\\Form\\Form');
// 2.4 API
} elseif ($validator instanceof LegacyValidatorInterface) {
@trigger_error('Passing an instance of Symfony\\Component\\Validator\\ValidatorInterface as argument to the ' . __METHOD__ . ' method is deprecated since version 2.8 and will be removed in 3.0. Use an implementation of Symfony\\Component\\Validator\\Validator\\ValidatorInterface instead', E_USER_DEPRECATED);
$metadata = $validator->getMetadataFactory()->getMetadataFor('Symfony\\Component\\Form\\Form');
} else {
throw new UnexpectedTypeException($validator, 'Symfony\\Component\\Validator\\Validator\\ValidatorInterface or Symfony\\Component\\Validator\\ValidatorInterface');
}
// 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;
}
示例5: attachInlineValidator
/**
* Attach the inline validator to the model metadata, this must be done once per admin.
*/
protected function attachInlineValidator()
{
$admin = $this;
// add the custom inline validation option
// TODO: Remove conditional method when bumping requirements to SF 2.5+
if (method_exists($this->validator, 'getMetadataFor')) {
$metadata = $this->validator->getMetadataFor($this->getClass());
} else {
$metadata = $this->validator->getMetadataFactory()->getMetadataFor($this->getClass());
}
$metadata->addConstraint(new InlineConstraint(array('service' => $this, 'method' => function (ErrorElement $errorElement, $object) use($admin) {
/* @var \Sonata\AdminBundle\Admin\AdminInterface $admin */
// This avoid the main validation to be cascaded to children
// The problem occurs when a model Page has a collection of Page as property
if ($admin->hasSubject() && spl_object_hash($object) !== spl_object_hash($admin->getSubject())) {
return;
}
$admin->validate($errorElement, $object);
foreach ($admin->getExtensions() as $extension) {
$extension->validate($admin, $errorElement, $object);
}
}, 'serializingWarning' => true)));
}
示例6: testGetMetadataFactory
public function testGetMetadataFactory()
{
$this->assertSame($this->metadataFactory, $this->validator->getMetadataFactory());
}
示例7: getFormBuilder
/**
* {@inheritdoc}
*/
public function getFormBuilder()
{
$admin = $this;
// add the custom inline validation option
$metadata = $this->validator->getMetadataFactory()->getClassMetadata($this->getClass());
$metadata->addConstraint(new \Sonata\AdminBundle\Validator\Constraints\InlineConstraint(array('service' => $this, 'method' => function (ErrorElement $errorElement, $object) use($admin) {
/* @var \Sonata\AdminBundle\Admin\AdminInterface $admin */
// This avoid the main validation to be cascaded to children
// The problem occurs when a model Page has a collection of Page as property
if ($admin->hasSubject() && spl_object_hash($object) !== spl_object_hash($admin->getSubject())) {
return;
}
$admin->validate($errorElement, $object);
foreach ($admin->getExtensions() as $extension) {
$extension->validate($admin, $errorElement, $object);
}
})));
$this->formOptions['data_class'] = $this->getActiveSubClass() ?: $this->getClass();
$formBuilder = $this->getFormContractor()->getFormBuilder($this->getUniqid(), $this->formOptions);
$this->defineFormBuilder($formBuilder);
return $formBuilder;
}
示例8: getMetadataFor
/**
* Gets metadata from system using the entity class name
*
* @param string $className
*
* @return ClassMetadata
* @codeCoverageIgnore
*/
protected function getMetadataFor($className)
{
return $this->validator->getMetadataFactory()->getMetadataFor($className);
}
示例9: getMetadataFactory
public function getMetadataFactory()
{
return $this->wrappedValidator->getMetadataFactory();
}
示例10: __construct
public function __construct(ValidatorInterface $validator)
{
$this->validator = $validator;
$this->validatorMetadataFactory = $validator->getMetadataFactory();
}