1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ValidationErrorTrait.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Main\Validation\Rule;
6
7use Bitrix\Main\Localization\LocalizableMessageInterface;
8use Bitrix\Main\Validation\ValidationError;
9use Bitrix\Main\Validation\ValidationResult;
10use Bitrix\Main\Validation\Validator\ValidatorInterface;
11
13{
14 protected string|LocalizableMessageInterface|null $errorMessage = null;
15
16 protected function getError(): ?ValidationError
17 {
18 return null !== $this->errorMessage ? new ValidationError($this->errorMessage) : null;
19 }
20
22 {
23 if ($result->isSuccess())
24 {
25 return $result;
26 }
27
28 $customError = $this->getError();
29 if (null === $customError)
30 {
31 return $result;
32 }
33
34 if (null !== $validator)
35 {
36 $customError->setFailedValidator($validator);
37 }
38
39 return (new ValidationResult())
40 ->setData($result->getData())
41 ->addError($customError);
42 }
43
45 {
46 if (!$result->isSuccess())
47 {
48 $error = $result->getErrors()[0];
49 if ($error instanceof ValidationError)
50 {
51 return $error->getFailedValidator();
52 }
53 }
54
55 return null;
56 }
57}
$result
Определения get_property_values.php:14
while($arParentIBlockProperty=$dbParentIBlockProperty->Fetch()) $errorMessage
getFailedValidator(ValidationResult $result)
Определения ValidationErrorTrait.php:44
replaceWithCustomError(ValidationResult $result, ?ValidatorInterface $validator=null)
Определения ValidationErrorTrait.php:21
$error
Определения subscription_card_product.php:20