Spec-Zone.ru › Yii 2.0

Класс yii\validators\CompareValidator

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

CompareValidator сравнивает значение указанного атрибута с другим значением.

Значение, с которым сравнивается атрибут, может быть значением другого атрибута (указано через $compareAttribute) или константой (указано через $compareValue). Если указаны оба, приоритет отдаётся последнему. Если ни один из них не указан, атрибут сравнивается с другим атрибутом, имя которого получено путем добавления "_repeat" к имени исходного атрибута.

CompareValidator поддерживает различные операторы сравнения, указанные через свойство $operator.

По умолчанию используется функция сравнения, основанная на строковых значениях, что означает сравнение значений байт за байтом. При сравнении чисел убедитесь, что установили $type в TYPE_NUMBER, чтобы включить числовое сравнение.

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

Свойство Тип Описание Определено
$attributeNames массив Имена атрибутов. yii\validators\Validator
$attributes массив|строка Атрибуты, которые должны быть валидированы этим валидатором. yii\validators\Validator
$behaviors yii\base\Behavior[] Список поведений, присоединённых к этому компоненту yii\base\Component
$builtInValidators массив Список встроенных валидаторов (имя => класс или конфигурация) yii\validators\Validator
$compareAttribute строка Имя атрибута для сравнения. yii\validators\CompareValidator
$compareValue смешанный тип Постоянное значение для сравнения. yii\validators\CompareValidator
$enableClientValidation булево Включить проверку на стороне клиента для этого валидатора. yii\validators\Validator
$except массив|строка Сценарии, для которых валидатор не должен применяться. yii\validators\Validator
$isEmpty вызов функции Функция PHP, которая заменяет стандартную реализацию isEmpty(). yii\validators\Validator
$message строка Пользовательское сообщение об ошибке. yii\validators\CompareValidator
$on массив|строка Сценарии, для которых валидатор может применяться. yii\validators\Validator
$operator строка Оператор сравнения. yii\validators\CompareValidator
$skipOnEmpty булево Пропустить валидацию, если значение атрибута null или пустая строка. yii\validators\Validator
$skipOnError булево Пропустить валидацию, если для атрибута уже есть ошибка. yii\validators\Validator
$type строка Тип сравниваемых значений. yii\validators\CompareValidator
$when вызов функции Функция PHP, определяющая, нужно ли применять этот валидатор. yii\validators\Validator
$whenClient строка Имя 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\CompareValidator
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\CompareValidator
hasEventHandlers() Возвращает значение, указывающее, прикреплены ли какие-либо обработчики к указанному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует объект. yii\validators\CompareValidator
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\CompareValidator
validateAttributes() Проверяет указанный объект. yii\validators\Validator

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

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

Константы

Константа Значение Описание Определено в
TYPE_NUMBER 'number' Константа для задания сравнения $type по числовым значениям. yii\validators\CompareValidator
TYPE_STRING 'string' Константа для задания сравнения $type по числовым значениям. yii\validators\CompareValidator

Подробности свойств

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

Имя атрибута, который нужно сравнить. Когда установлены и это свойство, и $compareValue, имеет приоритет последнее. Если ни то, ни другое не установлено, сравнение выполняется с другим атрибутом, имя которого образуется путем добавления '_repeat' к атрибуту, который проверяется. Например, если проверяется 'password', то атрибутом для сравнения будет 'password_repeat'.

См. также $compareValue.

public string $compareAttribute = null

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

Постоянное значение для сравнения. Когда установлены и это свойство, и $compareAttribute, приоритет имеет это свойство.

См. также $compareAttribute.

public mixed $compareValue = null

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

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

  • {attribute}: метка атрибута, который проверяется
  • {value}: значение атрибута, который проверяется
  • {compareValue}: значение или метка атрибута, с которым сравнивается
  • {compareAttribute}: метка атрибута, с которым сравнивается
  • {compareValueOrAttribute}: значение или метка атрибута, с которым сравнивается
public string $message = null

$operator public свойство

Оператор для сравнения. Поддерживаются следующие операторы:

  • ==: проверка на равенство двух значений. Сравнение выполняется в нестрогом режиме.
  • ===: проверка на равенство двух значений. Сравнение выполняется в строгом режиме.
  • !=: проверка на НЕравенство двух значений. Сравнение выполняется в нестрогом режиме.
  • !==: проверка на НЕравенство двух значений. Сравнение выполняется в строгом режиме.
  • >: проверка, больше ли значение, которое проверяется, чем значение, с которым сравнивается.
  • >=: проверка, больше или равно ли значение, которое проверяется, значению, с которым сравнивается.
  • <: проверка, меньше ли значение, которое проверяется, чем значение, с которым сравнивается.
  • <=: проверка, меньше или равно ли значение, которое проверяется, значению, с которым сравнивается.

При сравнении чисел убедитесь, что также задано $type в значение number.

public string $operator = '=='

$type public свойство

Тип сравниваемых значений. Поддерживаются следующие типы:

  • строка: значения сравниваются как строки. Преобразование перед сравнением не выполняется.
  • число: значения сравниваются как числа. Строковые значения преобразуются в числа перед сравнением.
public string $type = self::TYPE_STRING

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

clientValidateAttribute() public метод

Возвращает JavaScript-код для выполнения проверки на стороне клиента.

Вызывает getClientOptions() для генерации массива опций для проверки на стороне клиента.

Вы можете переопределить этот метод, чтобы вернуть JavaScript-код проверки, если валидатор поддерживает проверку на стороне клиента.

В коде проверки определены следующие JavaScript-переменные:

  • attribute: объект, описывающий атрибут, который проверяется.
  • value: значение, которое проверяется.
  • messages: массив для хранения сообщений об ошибках проверки для атрибута.
  • deferred: массив для хранения отложенных объектов для асинхронной проверки
  • $form: jQuery-объект, содержащий элемент формы

Объект attribute содержит следующие свойства:

  • id: уникальный идентификатор атрибута (например, "loginform-username") в форме
  • name: имя или выражение атрибута (например, "[0]content" для табличных данных)
  • container: jQuery-селектор контейнера поля ввода
  • input: jQuery-селектор поля ввода в контексте формы
  • error: jQuery-селектор тега ошибки в контексте контейнера
  • status: состояние поля ввода, 0: пустое, не введено ранее, 1: проверенное, 2: ожидание проверки, 3: проверка
public string|null clientValidateAttribute ( $model, $attribute, $view )
$model yii\base\Model

Модель данных, которая проверяется

$attribute string

Имя атрибута, который проверяется.

$view yii\web\View

Объект представления, который будет использоваться для рендеринга представлений или файлов представлений, содержащих форму модели с применённым этим валидатором.

return string|null

Скрипт проверки на стороне клиента. Null, если валидатор не поддерживает проверку на стороне клиента.

compareValues() protected метод

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

protected boolean compareValues ( $operator, $type, $value, $compareValue )
$operator string

Оператор сравнения

$type string

Тип сравниваемых значений

$value mixed

Сравниваемое значение

$compareValue mixed

Другое сравниваемое значение

return boolean

Является ли выполнение сравнения с указанным оператором истинным.

getClientOptions() public метод

Возвращает параметры проверки на стороне клиента.

Этот метод обычно вызывается из clientValidateAttribute(). Вы можете переопределить этот метод, чтобы изменить параметры, которые будут переданы в проверку на стороне клиента.

public array getClientOptions ( $model, $attribute )
$model yii\base\Model

Проверяемая модель

$attribute string

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

return array

Параметры проверки на стороне клиента

init() public метод

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

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

public void init ( )

validateAttribute() public метод

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

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

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

Модель данных, которая проверяется

$attribute string

Имя атрибута, который проверяется.

validateValue() protected метод

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

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

protected array|null validateValue ( $value )
$value mixed

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

return array|null

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

throws 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-comparevalidator.html

Spec-Zone.ru

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