1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
foreignvalidator.php
См. документацию.
1<?php
8
9namespace Bitrix\Main\ORM\Fields\Validators;
10
11use Bitrix\Main\ORM;
12use Bitrix\Main\Localization\Loc;
13
14Loc::loadMessages(__FILE__);
15
24{
25 protected $errorPhraseCode = 'MAIN_ENTITY_VALIDATOR_FOREIGN';
26 protected $reference = null;
27 protected $filter = null;
28 const NOT_EXISTS = 'BX_FOREIGN_NOT_EXISTS';
29
35 {
36 $this->reference = $reference;
37 $this->filter = $filter;
38 parent::__construct();
39 }
40
41 public function validate($value, $primary, array $row, ORM\Fields\Field $field)
42 {
43 $query = new ORM\Query\Query($this->reference->getEntity());
44 $query->setFilter(array('='.$this->reference->getName() => $value) + $this->filter);
45 $query->setLimit(1);
46 $result = $query->exec();
47
48 if($result->fetch())
49 {
50 return true;
51 }
52 return new ORM\Fields\FieldError($field, $this->getErrorMessage($value, $field), self::NOT_EXISTS);
53 }
54}
__construct(ORM\Fields\Field $reference, array $filter=array())
Определения foreignvalidator.php:34
validate($value, $primary, array $row, ORM\Fields\Field $field)
Определения foreignvalidator.php:41
getErrorMessage($value, ORM\Fields\Field $field, $errorPhrase=null, $additionalTemplates=null)
Определения validator.php:50
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$query
Определения get_search.php:11
Определения chain.php:3