本文整理汇总了PHP中Symfony\Component\Validator\ValidatorInterface::validateProperty方法的典型用法代码示例。如果您正苦于以下问题:PHP ValidatorInterface::validateProperty方法的具体用法?PHP ValidatorInterface::validateProperty怎么用?PHP ValidatorInterface::validateProperty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Validator\ValidatorInterface
的用法示例。
在下文中一共展示了ValidatorInterface::validateProperty方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateProperties
/**
* Validates the properties of an entity
*
* @param object $entity
* @param array $columnsInfo
*
* @return array
*/
protected function validateProperties($entity, array $columnsInfo)
{
$errors = array();
foreach ($columnsInfo as $columnInfo) {
$violations = $this->validator->validateProperty($entity, $columnInfo->getPropertyPath());
if ($violations->count()) {
$errors[$columnInfo->getLabel()] = $this->getErrorArray($violations);
}
}
return $errors;
}
示例2: validateProperty
protected function validateProperty($object, $propertyName, $groups = null)
{
return $this->validator->validateProperty($object, $propertyName, $groups);
}
示例3: setObjectFieldValueAction
/**
* @param \Symfony\Component\HttpFoundation\Request $request
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function setObjectFieldValueAction(Request $request)
{
$field = $request->get('field');
$code = $request->get('code');
$objectId = $request->get('objectId');
$value = $request->get('value');
$context = $request->get('context');
$admin = $this->pool->getInstance($code);
$admin->setRequest($request);
// alter should be done by using a post method
if (!$request->isXmlHttpRequest()) {
return new JsonResponse(array('status' => 'KO', 'message' => 'Expected a XmlHttpRequest request header'));
}
if ($request->getMethod() != 'POST') {
return new JsonResponse(array('status' => 'KO', 'message' => 'Expected a POST Request'));
}
$rootObject = $object = $admin->getObject($objectId);
if (!$object) {
return new JsonResponse(array('status' => 'KO', 'message' => 'Object does not exist'));
}
// check user permission
if (false === $admin->isGranted('EDIT', $object)) {
return new JsonResponse(array('status' => 'KO', 'message' => 'Invalid permissions'));
}
if ($context == 'list') {
$fieldDescription = $admin->getListFieldDescription($field);
} else {
return new JsonResponse(array('status' => 'KO', 'message' => 'Invalid context'));
}
if (!$fieldDescription) {
return new JsonResponse(array('status' => 'KO', 'message' => 'The field does not exist'));
}
if (!$fieldDescription->getOption('editable')) {
return new JsonResponse(array('status' => 'KO', 'message' => 'The field cannot be edit, editable option must be set to true'));
}
$propertyAccessor = PropertyAccess::createPropertyAccessor();
$propertyPath = new PropertyPath($field);
// If property path has more than 1 element, take the last object in order to validate it
if ($propertyPath->getLength() > 1) {
$object = $propertyAccessor->getValue($object, $propertyPath->getParent());
$elements = $propertyPath->getElements();
$field = end($elements);
$propertyPath = new PropertyPath($field);
}
$propertyAccessor->setValue($object, $propertyPath, '' !== $value ? $value : null);
$violations = $this->validator->validateProperty($object, $field);
if (count($violations)) {
$messages = array();
foreach ($violations as $violation) {
$messages[] = $violation->getMessage();
}
return new JsonResponse(array('status' => 'KO', 'message' => implode("\n", $messages)));
}
$admin->update($object);
// render the widget
// todo : fix this, the twig environment variable is not set inside the extension ...
$extension = $this->twig->getExtension('sonata_admin');
$extension->initRuntime($this->twig);
$content = $extension->renderListElement($rootObject, $fieldDescription);
return new JsonResponse(array('status' => 'OK', 'content' => $content));
}
示例4: validateProperty
public function validateProperty($object, $propertyName, $groups = null)
{
return $this->wrappedValidator->validateProperty($object, $propertyName, $groups);
}