1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
uniquevalidator.php
См. документацию.
1
<?php
8
9
namespace
Bitrix\Main\ORM\Fields\Validators;
10
11
use Bitrix\Main\ORM;
12
use Bitrix\Main\ORM\Query\Query;
13
use Bitrix\Main\Localization\Loc;
14
15
Loc::loadMessages(__FILE__);
16
17
class
UniqueValidator
extends
Validator
18
{
22
protected
$errorPhraseCode
=
'MAIN_ENTITY_VALIDATOR_UNIQUE'
;
23
24
public
function
validate
($value, $primary,
array
$row,
ORM
\
Fields
\
Field
$field)
25
{
26
$entity
= $field->getEntity();
27
$primaryNames =
$entity
->getPrimaryArray();
28
29
$query
=
new
Query
(
$entity
);
30
$query
->setSelect($primaryNames);
31
$query
->setFilter(
array
(
'='
.$field->getName() => $value));
32
$query
->setLimit(2);
33
$result
=
$query
->exec();
34
35
while
($existing =
$result
->fetch())
36
{
37
// check primary
38
foreach
($existing as
$k
=> $v)
39
{
40
if
(!isset($primary[
$k
]) || $primary[
$k
] != $existing[
$k
])
41
{
42
return
$this->
getErrorMessage
($value, $field);
43
}
44
}
45
}
46
47
return
true
;
48
}
49
}
Bitrix\Main\ORM\Fields\Field
Определения
field.php:25
Bitrix\Main\ORM\Fields\Validators\UniqueValidator
Определения
uniquevalidator.php:18
Bitrix\Main\ORM\Fields\Validators\UniqueValidator\$errorPhraseCode
$errorPhraseCode
Определения
uniquevalidator.php:22
Bitrix\Main\ORM\Fields\Validators\UniqueValidator\validate
validate($value, $primary, array $row, ORM\Fields\Field $field)
Определения
uniquevalidator.php:24
Bitrix\Main\ORM\Fields\Validators\Validator
Определения
validator.php:18
Bitrix\Main\ORM\Fields\Validators\Validator\getErrorMessage
getErrorMessage($value, ORM\Fields\Field $field, $errorPhrase=null, $additionalTemplates=null)
Определения
validator.php:50
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
$query
$query
Определения
get_search.php:11
$entity
$entity
Определения
group_bizproc_workflow_delete.php:17
Bitrix\Main\ORM\Fields
Определения
arrayfield.php:9
Bitrix\Main\ORM\Query
Определения
chain.php:3
Bitrix\Main\ORM
$k
$k
Определения
template_pdf.php:567
bitrix
modules
main
lib
orm
fields
validators
uniquevalidator.php
Создано системой
1.14.0