Spec-Zone.ru › Yii 2.0

Класс yii\captcha\CaptchaValidator

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

CaptchaValidator проверяет, что значение атрибута совпадает с кодом проверки, отображаемым на CAPTCHA.

CaptchaValidator следует использовать вместе с yii\captcha\CaptchaAction.

Обратите внимание, что после успешной проверки CAPTCHA новый CAPTCHA будет автоматически сгенерирован. В результате, проверка CAPTCHA не должна использоваться в режиме AJAX-валидации, так как она может отклонить проверку, даже если пользователь ввел тот же код, что и на изображении CAPTCHA, который фактически отличается от последнего кода CAPTCHA.

Общедоступные свойства

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

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

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

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

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

Маршрут действия контроллера, который отображает изображение CAPTCHA.

public string $captchaAction = 'site/captcha'

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

Будет ли сравнение чувствительным к регистру. По умолчанию false.

public boolean $caseSensitive = false

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

Пропускать ли этот валидатор, если вход пустой.

public boolean $skipOnEmpty = false

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

clientValidateAttribute() public method

Возвращает 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, если валидатор не поддерживает проверку на стороне клиента.

createCaptchaAction() public method

Создаёт объект действия CAPTCHA из маршрута, указанного в $captchaAction.

public yii\captcha\CaptchaAction createCaptchaAction ( )
return yii\captcha\CaptchaAction

Объект действия

throws yii\base\InvalidConfigException

getClientOptions() public method

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

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

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

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

$attribute string

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

return array

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

init() public method

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

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

public void init ( )

validateValue() protected method

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

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

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-captcha-captchavalidator.html

Spec-Zone.ru

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