当前位置: 首页>>代码示例>>PHP>>正文


PHP ExecutionContext::getViolations方法代码示例

本文整理汇总了PHP中Symfony\Component\Validator\ExecutionContext::getViolations方法的典型用法代码示例。如果您正苦于以下问题:PHP ExecutionContext::getViolations方法的具体用法?PHP ExecutionContext::getViolations怎么用?PHP ExecutionContext::getViolations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\Validator\ExecutionContext的用法示例。


在下文中一共展示了ExecutionContext::getViolations方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testAddViolationAtUsesPassedNullValue

 public function testAddViolationAtUsesPassedNullValue()
 {
     $this->translator->expects($this->once())->method('trans')->with('Error', array('foo' => 'bar'))->will($this->returnValue('Translated error'));
     $this->translator->expects($this->once())->method('transChoice')->with('Choice error', 2, array('foo' => 'bar'))->will($this->returnValue('Translated choice error'));
     // passed null value should override preconfigured value "invalid"
     $this->context->addViolationAt('bam.baz', 'Error', array('foo' => 'bar'), null);
     $this->context->addViolationAt('bam.baz', 'Choice error', array('foo' => 'bar'), null, 2);
     $this->assertEquals(new ConstraintViolationList(array(new ConstraintViolation('Translated error', 'Error', array('foo' => 'bar'), 'Root', 'foo.bar.bam.baz', null), new ConstraintViolation('Translated choice error', 'Choice error', array('foo' => 'bar'), 'Root', 'foo.bar.bam.baz', null, 2))), $this->context->getViolations());
 }
开发者ID:emiberea,项目名称:day1-task-no2,代码行数:9,代码来源:ExecutionContextTest.php

示例2: testGetPropertyPathWithNestedCollectionsAndAllMixed

 public function testGetPropertyPathWithNestedCollectionsAndAllMixed()
 {
     $constraints = new Collection(array('shelves' => new All(array('constraints' => array(new Collection(array('name' => new ConstraintA(), 'books' => new All(array('constraints' => array(new ConstraintA())))))))), 'name' => new ConstraintA()));
     $data = array('shelves' => array(array('name' => 'Research', 'books' => array('foo', 'bar')), array('name' => 'VALID', 'books' => array('foozy', 'VALID', 'bazzy'))), 'name' => 'Library');
     $expectedViolationPaths = array('[shelves][0][name]', '[shelves][0][books][0]', '[shelves][0][books][1]', '[shelves][1][books][0]', '[shelves][1][books][2]', '[name]');
     $visitor = new ValidationVisitor('Root', $this->metadataFactory, new ConstraintValidatorFactory(), $this->translator);
     $context = new ExecutionContext($visitor, $this->translator, self::TRANS_DOMAIN);
     $context->validateValue($data, $constraints);
     foreach ($context->getViolations() as $violation) {
         $violationPaths[] = $violation->getPropertyPath();
     }
     $this->assertEquals($expectedViolationPaths, $violationPaths);
 }
开发者ID:shomimn,项目名称:builder,代码行数:13,代码来源:LegacyExecutionContextTest.php

示例3: validateValue

 /**
  * {@inheritDoc}
  */
 public function validateValue($value, $constraints, $groups = null)
 {
     $context = new ExecutionContext($this->createVisitor($value), $this->translator, $this->translationDomain);
     $constraints = is_array($constraints) ? $constraints : array($constraints);
     foreach ($constraints as $constraint) {
         if ($constraint instanceof Valid) {
             // Why can't the Valid constraint be executed directly?
             //
             // It cannot be executed like regular other constraints, because regular
             // constraints are only executed *if they belong to the validated group*.
             // The Valid constraint, on the other hand, is always executed and propagates
             // the group to the cascaded object. The propagated group depends on
             //
             //  * Whether a group sequence is currently being executed. Then the default
             //    group is propagated.
             //
             //  * Otherwise the validated group is propagated.
             throw new ValidatorException(sprintf('The constraint %s cannot be validated. Use the method validate() instead.', get_class($constraint)));
         }
         $context->validateValue($value, $constraint, $groups);
     }
     return $context->getViolations();
 }
开发者ID:emiberea,项目名称:day1-task-no2,代码行数:26,代码来源:Validator.php

示例4: testGetPropertyPathWithNestedCollectionsMixed

 public function testGetPropertyPathWithNestedCollectionsMixed()
 {
     $constraints = new Collection(array('foo' => new Collection(array('foo' => new ConstraintA(), 'bar' => new ConstraintA())), 'name' => new ConstraintA()));
     $visitor = new ValidationVisitor('Root', $this->metadataFactory, new ConstraintValidatorFactory(), $this->translator);
     $context = new ExecutionContext($visitor, $this->translator, self::TRANS_DOMAIN);
     $context->validateValue(array('foo' => array('foo' => 'VALID')), $constraints);
     $violations = $context->getViolations();
     $this->assertEquals('[name]', $violations[1]->getPropertyPath());
 }
开发者ID:TuxCoffeeCorner,项目名称:tcc,代码行数:9,代码来源:ExecutionContextTest.php


注:本文中的Symfony\Component\Validator\ExecutionContext::getViolations方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。