Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/Validation/Rule/ |
Upload File : |
<?php declare(strict_types=1); namespace Bitrix\Main\Validation\Rule; use Attribute; use Bitrix\Main\Localization\LocalizableMessageInterface; use Bitrix\Main\Validation\ValidationResult; use Bitrix\Main\Validation\Validator\PhoneValidator; use Bitrix\Main\Validation\Validator\EmailValidator; #[Attribute(Attribute::TARGET_PROPERTY | Attribute::TARGET_PARAMETER)] class PhoneOrEmail implements PropertyValidationAttributeInterface { use ValidationErrorTrait; public function __construct( private readonly bool $strict = false, private readonly bool $domainCheck = false, string|LocalizableMessageInterface|null $errorMessage = null ) { $this->errorMessage = $errorMessage; } public function validateProperty(mixed $propertyValue): ValidationResult { $phoneResult = (new PhoneValidator())->validate($propertyValue); if ($phoneResult->isSuccess()) { return $this->replaceWithCustomError($phoneResult); } $emailResult = (new EmailValidator($this->strict, $this->domainCheck))->validate($propertyValue); return $this->replaceWithCustomError($emailResult); } }