Spec-Zone.ru › Yii 2.0

Класс yii\validators\ExistValidator

Все классы | Свойства | Методы
Наследование yii\validators\ExistValidator » yii\validators\Validator » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/validators/ExistValidator.php

ExistValidator проверяет, что значение атрибута существует в таблице.

ExistValidator проверяет, можно ли найти значение, которое валидируется, в столбце таблицы, указанном классом ActiveRecord $targetClass и атрибутом $targetAttribute.

Этот валидатор часто используется для проверки того, что внешний ключ содержит значение, которое можно найти во внешней таблице.

Ниже приведены примеры правил валидации, использующих этот валидатор:

// a1 needs to exist
['a1', 'exist']
// a1 needs to exist, but its value will use a2 to check for the existence
['a1', 'exist', 'targetAttribute' => 'a2']
// a1 and a2 need to exist together, and they both will receive error message
[['a1', 'a2'], 'exist', 'targetAttribute' => ['a1', 'a2']]
// a1 and a2 need to exist together, only a1 will receive error message
['a1', 'exist', 'targetAttribute' => ['a1', 'a2']]
// a1 needs to exist by checking the existence of both a2 and a3 (using a1 value)
['a1', 'exist', 'targetAttribute' => ['a2', 'a1' => 'a3']]

Публичные свойства

Свойство Тип Описание Определено
$allowArray boolean Разрешить атрибут типа массив. yii\validators\ExistValidator
$attributeNames array Имена атрибутов. yii\validators\Validator
$attributes array|string Атрибуты, которые должны быть валидированы этим валидатором. yii\validators\Validator
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к этому компоненту yii\base\Component
$builtInValidators array Список встроенных валидаторов (имя => класс или конфигурация) yii\validators\Validator
$enableClientValidation boolean Включить валидацию на стороне клиента для этого валидатора. yii\validators\Validator
$except array|string Сценарии, для которых валидатор не должен применяться. yii\validators\Validator
$filter string|array|Closure Дополнительный фильтр, применяемый к запросу DB для проверки существования значения атрибута. yii\validators\ExistValidator
$isEmpty callable PHP вызываемая функция, которая заменяет стандартную реализацию isEmpty(). yii\validators\Validator
$message string Пользовательское сообщение об ошибке. yii\validators\Validator
$on array|string Сценарии, для которых валидатор может быть применён. yii\validators\Validator
$skipOnEmpty boolean Пропустить валидацию, если значение атрибута null или пустая строка. yii\validators\Validator
$skipOnError boolean Пропустить валидацию, если у валидируемого атрибута уже есть ошибка валидации по предыдущим правилам. yii\validators\Validator
$targetAttribute string|array Имя атрибута ActiveRecord, которое должно использоваться для проверки существования текущего значения атрибута. yii\validators\ExistValidator
$targetAttributeJunction string ИЛИ|И определяет, как связаны атрибуты целевой таблицы yii\validators\ExistValidator
$targetClass string Имя класса ActiveRecord, которое должно использоваться для проверки существования текущего значения атрибута. yii\validators\ExistValidator
$when callable PHP вызываемая функция, значение которой определяет, должен ли применяться этот валидатор. yii\validators\Validator
$whenClient string Имя JavaScript-функции, возвращаемое значение которой определяет, должен ли этот валидатор применяться на стороне клиента. yii\validators\Validator

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в значение null. yii\base\Component
addError() Добавляет ошибку о заданном атрибуте в объект модели. yii\validators\Validator
attachBehavior() Прикрепляет поведение к данному компоненту. yii\base\Component
attachBehaviors() Прикрепляет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, которые должен иметь данный компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное имя этого класса. yii\base\Object
clientValidateAttribute() Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента. yii\validators\Validator
createValidator() Создаёт объект валидатора. yii\validators\Validator
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getAttributeNames() Возвращает очищенные имена атрибутов без символа ! в начале yii\validators\Validator
getBehavior() Возвращает объект поведения с заданным именем. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
getClientOptions() Возвращает параметры проверки на стороне клиента. yii\validators\Validator
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, присоединённый к заданному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует объект. yii\validators\ExistValidator
isActive() Возвращает значение, указывающее, активен ли валидатор для данного сценария и атрибута. yii\validators\Validator
isEmpty() Проверяет, пустое ли заданное значение. yii\validators\Validator
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Прикрепляет обработчик событий к событию. yii\base\Component
trigger() Вызывает событие. yii\base\Component
validate() Проверяет заданное значение. yii\validators\Validator
validateAttribute() Проверяет отдельный атрибут. yii\validators\ExistValidator
validateAttributes() Проверяет указанный объект. yii\validators\Validator

Защищённые методы

Метод Описание Определено в
createQuery() Создаёт экземпляр запроса с заданным условием. yii\validators\ExistValidator
formatMessage() Форматирует сообщение с использованием I18N или простым strtr, если \Yii::$app недоступен. yii\validators\Validator
validateValue() Проверяет значение. yii\validators\ExistValidator

Подробное описание свойств

$allowArray публичное свойство

Разрешить атрибут типа массив.

public boolean $allowArray = false

$filter публичное свойство

Дополнительный фильтр, который будет применяться к запросу базы данных, используемому для проверки существования значения атрибута. Это может быть строка или массив, представляющий дополнительное условие запроса (см. yii\db\Query::where() для формата условия запроса), или анонимная функция со сигнатурой function ($query), где $query — объект Query, который можно изменить в функции.

public string|array|Closure $filter = null

$targetAttribute публичное свойство

Имя атрибута ActiveRecord, которое должно использоваться для проверки существования текущего значения атрибута. Если не задано, будет использовано имя текущего проверяемого атрибута. Вы можете использовать массив для одновременной проверки существования нескольких столбцов. Ключ массива — имя атрибута со значением для проверки, значение массива — имя поля базы данных для поиска.

public string|array $targetAttribute = null

$targetAttributeJunction публичное свойство (доступно с версии 2.0.11)

И/или определить, как связаны целевые атрибуты

public string $targetAttributeJunction = 'and'

$targetClass публичное свойство

Имя класса ActiveRecord, которое должно использоваться для проверки существования текущего значения атрибута. Если не задано, будет использован класс ActiveRecord атрибута, который проверяется.

См. также $targetAttribute.

public string $targetClass = null

Подробное описание методов

createQuery() защищённый метод

Создаёт экземпляр запроса с заданным условием.

защищённый yii\db\ActiveQueryInterface createQuery ( $targetClass, $condition )
$targetClass строка

Класс целевого AR

$condition смешанный тип

Условие запроса

возвращает yii\db\ActiveQueryInterface

Экземпляр запроса

init() публичный метод

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.

публичный void init ( )

validateAttribute() публичный метод

Проверяет одно атрибут.

Дочерние классы должны реализовать этот метод, чтобы предоставить фактическую логику проверки.

публичный void validateAttribute ( $model, $attribute )
$model yii\base\Model

Модель данных для проверки

$attribute строка

Имя атрибута для проверки.

validateValue() защищённый метод

Проверяет значение.

Класс валидатора может реализовать этот метод для поддержки проверки данных вне контекста модели данных.

защищённый массив|null validateValue ( $value )
$value смешанный тип

Значение данных для проверки.

возвращает массив|null

Сообщение об ошибке и параметры для вставки в сообщение об ошибке. Null должен возвращаться, если данные валидны.

выбрасывает yii\base\NotSupportedException

если валидатор не поддерживает проверку данных без модели

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-validators-existvalidator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API