本文整理汇总了PHP中Symfony\Component\Validator\ExecutionContext::getGraphWalker方法的典型用法代码示例。如果您正苦于以下问题:PHP ExecutionContext::getGraphWalker方法的具体用法?PHP ExecutionContext::getGraphWalker怎么用?PHP ExecutionContext::getGraphWalker使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Validator\ExecutionContext
的用法示例。
在下文中一共展示了ExecutionContext::getGraphWalker方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testInit
public function testInit()
{
$this->assertCount(0, $this->context->getViolations());
$this->assertSame('Root', $this->context->getRoot());
$this->assertSame('foo.bar', $this->context->getPropertyPath());
$this->assertSame('Group', $this->context->getGroup());
$this->visitor->expects($this->once())->method('getGraphWalker')->will($this->returnValue('GRAPHWALKER'));
// BC
set_error_handler(array($this, "deprecationErrorHandler"));
$this->assertNull($this->context->getCurrentClass());
$this->assertNull($this->context->getCurrentProperty());
$this->assertSame('GRAPHWALKER', $this->context->getGraphWalker());
$this->assertSame($this->metadataFactory, $this->context->getMetadataFactory());
restore_error_handler();
}
示例2: validateFormChildren
public static function validateFormChildren(FormInterface $form, ExecutionContext $context)
{
if ($form->getAttribute('cascade_validation')) {
$propertyPath = $context->getPropertyPath();
$graphWalker = $context->getGraphWalker();
// Adjust the property path accordingly
if (!empty($propertyPath)) {
$propertyPath .= '.';
}
$propertyPath .= 'children';
$graphWalker->walkReference($form->getChildren(), Constraint::DEFAULT_GROUP, $propertyPath, true);
}
}
示例3: validateFormData
/**
* Validates the data of a form
*
* This method is called automatically during the validation process.
*
* @param FormInterface $form The validated form
* @param ExecutionContext $context The current validation context
*/
public static function validateFormData(FormInterface $form, ExecutionContext $context)
{
if (is_object($form->getData()) || is_array($form->getData())) {
$propertyPath = $context->getPropertyPath();
$graphWalker = $context->getGraphWalker();
// The Execute constraint is called on class level, so we need to
// set the property manually
$context->setCurrentProperty('data');
// Adjust the property path accordingly
if (!empty($propertyPath)) {
$propertyPath .= '.';
}
$propertyPath .= 'data';
foreach (self::getFormValidationGroups($form) as $group) {
$graphWalker->walkReference($form->getData(), $group, $propertyPath, true);
}
}
}
示例4: validateFormChildren
public static function validateFormChildren(FormInterface $form, ExecutionContext $context)
{
if ($form->getAttribute('cascade_validation')) {
$propertyPath = $context->getPropertyPath();
$graphWalker = $context->getGraphWalker();
// The Execute constraint is called on class level, so we need to
// set the property manually
$context->setCurrentProperty('children');
// Adjust the property path accordingly
if (!empty($propertyPath)) {
$propertyPath .= '.';
}
$propertyPath .= 'children';
foreach (self::getFormValidationGroups($form) as $group) {
$graphWalker->walkReference($form->getChildren(), $group, $propertyPath, true);
}
}
}
示例5: isValidCustomer
/**
* @param ExecutionContext $context
* @return bool
*/
public function isValidCustomer(ExecutionContext $context)
{
// https://gist.github.com/888267
if (true === $this->known_customer) {
$this->customer = $this->em->getRepository('AcmePizzaBundle:Customer')->findOneBy(array('phone' => $this->known_phone));
if (false === $this->customer instanceof Customer) {
$property_path = $context->getPropertyPath() . '.known_phone';
$context->setPropertyPath($property_path);
$context->addViolation('Phone number is not registered', array(), null);
}
} else {
/*
$context->setGroup('MyTest');
var_dump($context->getGroup());
*/
$group = $context->getGroup();
$group = 'Customer';
$context->getGraphWalker()->walkReference($this->customer, $group, $context->getPropertyPath() . ".customer", true);
}
/*
if (!($this->customer instanceof Customer)) {
$context->addViolation('Invalid customer given', array(), $this->customer);
}
*/
}
示例6: validateData
/**
* Validates the data of this form
*
* This method is called automatically during the validation process.
*
* @param ExecutionContext $context The current validation context
*/
public function validateData(ExecutionContext $context)
{
if (is_object($this->getData()) || is_array($this->getData())) {
$groups = $this->getValidationGroups();
$propertyPath = $context->getPropertyPath();
$graphWalker = $context->getGraphWalker();
if (null === $groups) {
$groups = array(null);
}
// The Execute constraint is called on class level, so we need to
// set the property manually
$context->setCurrentProperty('data');
// Adjust the property path accordingly
if (!empty($propertyPath)) {
$propertyPath .= '.';
}
$propertyPath .= 'data';
foreach ($groups as $group) {
$graphWalker->walkReference($this->getData(), $group, $propertyPath, true);
}
}
}
示例7: validateCreation
/**
* @param ExecutionContext $ec
*/
public function validateCreation(ExecutionContext $ec)
{
if (null === $this->getHandle()) {
$ec->getGraphWalker()->walkReference($this, 'create', $ec->getPropertyPath(), true);
}
}