Spec-Zone.ru › CakePHP 2.7

Класс ModelValidator

Объект ModelValidator объединяет все методы, связанные с валидацией данных для модели. Он также предоставляет API для динамического изменения правил валидации для каждого поля модели.

Реализует ArrayAccess для легкой модификации правил, как обычно делается с массивом определения Model::$validate.

ModelValidator реализует ArrayAccess, IteratorAggregate, Countable
Пакет: Cake\Модель
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Ссылка: http://book.cakephp.org/2.0/ru/data-validation.html
Расположение: Cake/Model/ModelValidator.php

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

__constructsource public

__construct( Model $Model )

Конструктор

Параметры

Model $Model
Ссылка на модель, к которой прикреплен валидатор

_parseRulessource protected

_parseRules( )

Устанавливает объекты CakeValidationSet из свойства Model::$validate. Если Model::$validate не задано или пусто, этот метод возвращает false. Иначе - true.

Возвращает

boolean
true, если Model::$validate был обработан, иначе false

_triggerBeforeValidatesource protected

_triggerBeforeValidate( array $options array() )

Распространяет событие beforeValidate.

Параметры

массив $options необязательно массив()
Опции для передачи в обратный вызов.

Возвращает

boolean
bool

Вызывает

Model.beforeValidate $model, массив($options)

_validateWithModelssource protected

_validateWithModels( array $options )

Выполняет валидацию для ассоциаций hasAndBelongsToMany, у которых установлены ключи 'with' и данные в наборе данных.

Параметры

массив $options
Массив опций для использования при валидации моделей с ключом 'with'.

Возвращает

boolean
Результат валидации моделей с ключом 'with'.

См. также

Model::validates()

_validationListsource protected

_validationList( array $fieldList array() )

Обрабатывает переданный fieldList и возвращает список полей, которые будут проверены.

Параметры

массив $fieldList необязательно массив()
список полей, используемых для валидации.

Возвращает

CakeValidationSet[]
Список правил валидации, которые будут применены

addsource public

add( string $field , string|array|CakeValidationSet $name , array|CakeValidationRule $rule null )

Добавляет новое правило к набору правил поля. Если второй аргумент является массивом или экземпляром CakeValidationSet, список правил для поля будет заменен вторым аргументом, а третий аргумент будет проигнорирован.

Пример:

$validator
        ->add('title', 'required', array('rule' => 'notBlank', 'required' => true))
        ->add('user_id', 'valid', array('rule' => 'numeric', 'message' => 'Invalid User'))

$validator->add('password', array(
        'size' => array('rule' => array('lengthBetween', 8, 20)),
        'hasSpecialCharacter' => array('rule' => 'validateSpecialchar', 'message' => 'not valid')
));

Параметры

строка $field
Имя поля, в которое добавляется правило
строка|массив|CakeValidationSet $name
Имя правила для добавления или список правил для поля
массив|CakeValidationRule $rule необязательно null
или список правил для добавления к набору правил поля

Возвращает

self
self

countsource public

count( )

Возвращает количество полей, имеющих правила валидации.

Возвращает

integer
int

Реализация

Countable::count()

errorssource public

errors( string $options array() )

Возвращает массив полей, которые не прошли валидацию. Для текущей модели. Этот метод фактически выполнит правила валидации над данными, а не просто вернет сообщения.

Параметры

строка $options необязательно массив()
Необязательный массив пользовательских опций, которые будут доступны в обратном вызове beforeValidate.

Возвращает

array
Массив невалидных полей

См. также

ModelValidator::validates()

Вызывает

Model.afterValidate $model

getFieldsource public

getField( string $name null )

Возвращает объект CakeValidationSet, содержащий все правила валидации для поля. Если параметры не переданы, возвращает массив со всеми объектами CakeValidationSet для каждого поля.

Параметры

строка $name необязательно null
[необязательно] Имя поля для извлечения. По умолчанию null.

Возвращает

CakeValidationSet|array|null
CakeValidationSet|массив|null

getIteratorsource public

getIterator( )

Возвращает итератор для каждого поля, которое будет валидироваться.

Возвращает

ArrayIterator
ArrayIterator

Реализация

IteratorAggregate::getIterator()

getMethodssource public

getMethods( )

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

Возвращает

array
Список вызываемых функций, которые будут использоваться в качестве методов валидации

getModelsource public

getModel( )

Получает модель, связанную с этим валидатором.

Возвращает

Model
Модель

invalidatesource public

invalidate( string $field , string $message true )

Помечает поле как невалидное, необязательно задавая сообщение, объясняющее, почему правило не выполнилось.

Параметры

строка $field
Имя поля, которое нужно сделать невалидным.
строка $message необязательно true
Сообщение валидации, объясняющее, почему правило не выполнилось. По умолчанию true.

offsetExistssource public

offsetExists( string $field )

Возвращает, определен ли набор правил для поля или нет.

Параметры

строка $field
имя поля для проверки

Возвращает

boolean
bool

Реализация

ArrayAccess::offsetExists()

offsetGetsource public

offsetGet( string $field )

Возвращает набор правил для поля.

Параметры

строка $field
имя поля для проверки

Возвращает

CakeValidationSet
CakeValidationSet

Реализация

ArrayAccess::offsetGet()

offsetSetsource public

offsetSet( string $field , array|CakeValidationSet $rules )

Устанавливает набор правил для поля.

Параметры

строка $field
имя поля, которое нужно установить
массив|CakeValidationSet $rules
набор правил, которые нужно применить к полю

Реализация

ArrayAccess::offsetSet()
END_OF_DOCUMENT_MARKER

offsetUnsetsource public

offsetUnset( string $field )

Удаляет набор правил для поля

Параметры

строка $field
имя поля для удаления

Реализация

ArrayAccess::offsetUnset()

removesource public

remove( string $field , string $rule null )

Удаляет правило из набора по его имени

Пример:

$validator
        ->remove('title', 'required')
        ->remove('user_id')

Параметры

строка $field
Имя поля, из которого будет удалено правило
строка $rule необязательно null
имя правила для удаления

Возвращает

self
self

setValidationDomainsource public

setValidationDomain( string $validationDomain null )

Устанавливает I18n домен для сообщений об ошибках валидации. Этот метод можно использовать в цепочке вызовов.

Параметры

строка $validationDomain необязательно null
[необязательно] Домен валидации для использования.

Возвращает

self
self

validateAssociatedsource public

validateAssociated( array $data , array $options array() )

Валидирует одну запись, а также все её непосредственно связанные записи.

Параметры

  • atomic: Если true (по умолчанию), возвращает boolean. Если false, возвращает массив.
  • fieldList: Эквивалентно параметру $fieldList в Model::save()
  • deep: Если установлено в true, валидируются не только непосредственно связанные данные, но и вложенные связанные данные.

Предупреждение: Этот метод может потенциально изменить переданный аргумент $data, Если вы этого не хотите, сделайте копию $data перед передачей его в этот метод

Параметры

массив $data
$data Данные записи для валидации. Это должен быть массив, индексированный именем ассоциации.
массив $options необязательно массив()
Параметры для использования при валидации данных записи (см. выше), см. также $options метода validates().

Возвращает

array|boolean
Если atomic: True при успешной валидации, или false при ошибке. В противном случае: массив, похожий на переданный массив $data, но значения установлены на true/false в зависимости от того, прошла ли валидация каждой записи успешно.

validateManysource public

validateMany( array $data , array $options array() )

Валидирует несколько отдельных записей для одной модели.

Параметры

  • atomic: Если true (по умолчанию), возвращает boolean. Если false, возвращает массив.
  • fieldList: Эквивалентно параметру $fieldList в Model::save()
  • deep: Если установлено в true, все связанные данные также будут проверены.

Предупреждение: Этот метод может потенциально изменить переданный аргумент $data, Если вы этого не хотите, сделайте копию $data перед передачей его в этот метод

Параметры

массив $data
$data Данные записи для валидации. Это должен быть массив с числовыми индексами.
массив $options необязательно массив()
Параметры для использования при валидации данных записи (см. выше), см. также $options метода validates().

Возвращает

mixed
Если atomic: True при успешной валидации, или false при ошибке. В противном случае: массив, похожий на переданный массив $data, но значения установлены на true/false в зависимости от того, прошла ли валидация каждой записи успешно.

validatessource public

validates( array $options array() )

Возвращает true, если все поля проходят валидацию. Будет валидировать ассоциации hasAndBelongsToMany, которые используют ключ 'with'. Поскольку Model::_saveMulti не может завершить операцию сохранения.

Будет валидировать текущие данные. Используйте Model::set() или Model::create() для установки активных данных.

Параметры

массив $options необязательно массив()
Необязательный массив пользовательских параметров, которые будут доступны в обратном вызове beforeValidate

Возвращает

boolean
True, если нет ошибок

Краткое описание свойств

$_behaviorssource

protected массив

Содержит список имён поведения, которые были подключены при создании этого объекта

array()

$_fieldssource

protected CakeValidationSet[]

Содержит массив объектов CakeValidationSet

array()

$_methodssource

protected массив

Содержит доступные пользовательские методы обратного вызова, обычно взятые из методов модели и методов поведения

array()

$_modelsource

protected Model

Содержит ссылку на модель, к которой прикреплен этот Validator

array()

$_modelMethodssource

protected массив

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

array()

$_validatesource

protected массив

Свойство validators $validate, используемое для проверки того, изменились ли определения правил валидации в модели и следует ли их обновить в этом классе

array()

© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
http://api.cakephp.org/2.7/class-ModelValidator.html

Spec-Zone.ru

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