Spec-Zone.ru › Yii 2.0

Класс yii\validators\UniqueValidator

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

UniqueValidator проверяет, что значение атрибута уникально в указанной таблице базы данных.

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

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

// a1 needs to be unique
['a1', 'unique']
// a1 needs to be unique, but column a2 will be used to check the uniqueness of the a1 value
['a1', 'unique', 'targetAttribute' => 'a2']
// a1 and a2 need to be unique together, and they both will receive error message
[['a1', 'a2'], 'unique', 'targetAttribute' => ['a1', 'a2']]
// a1 and a2 need to be unique together, only a1 will receive error message
['a1', 'unique', 'targetAttribute' => ['a1', 'a2']]
// a1 needs to be unique by checking the uniqueness of both a2 and a3 (using a1 value)
['a1', 'unique', 'targetAttribute' => ['a2', 'a1' => 'a3']]

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

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

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

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

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

$comboNotUnique общедоступное свойство (доступно с версии 2.0.9)

Устарело с версии 2.0.10, будет удалено в 2.1. Используйте свойство $message для настройки пользовательского сообщения для нескольких целевых атрибутов.
public string $comboNotUnique = null

$filter общедоступное свойство

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

public string|array|Closure $filter = null

$message общедоступное свойство

Пользовательское сообщение об ошибке.

При проверке одного атрибута оно может содержать следующие плейсхолдеры, которые будут соответствующим образом заменены валидатором:

  • {attribute}: метка проверяемого атрибута
  • {value}: значение проверяемого атрибута

При проверке нескольких атрибутов оно может содержать следующие плейсхолдеры:

  • {attributes}: метки проверяемых атрибутов.
  • {values}: значения проверяемых атрибутов.
public string $message = null

$targetAttribute общедоступное свойство

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

public string|array $targetAttribute = null

$targetAttributeJunction открытая переменная (доступна начиная с версии 2.0.11)

Определяет взаимосвязь целевых атрибутов

public string $targetAttributeJunction = 'and'

$targetClass открытая переменная

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

См. также $targetAttribute.

public string $targetClass = null

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

init() открытый метод

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

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

public void init ( )

validateAttribute() открытый метод

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

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

public void validateAttribute ( $model, $attribute )
$model yii\base\Model

Данные модели для проверки

$attribute string

Имя проверяемого атрибута.

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

Spec-Zone.ru

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