Spec-Zone.ru › CakePHP 2.10

Класс ModelValidator

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

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

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

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

  • $_behaviors protected
    array
    Хранит список имен поведений, прикреплённых при создании этого объекта
  • $_fields protected
    CakeValidationSet[]
    Хранит массив объектов CakeValidationSet
  • $_methods protected
    array

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

  • $_model protected
    Model
    Хранит ссылку на модель, к которой прикреплён этот валидатор
  • $_modelMethods protected
    array
    Хранит доступные пользовательские методы обратного вызова из модели
  • $_validate protected
    array

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

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

  • __construct() public
    Конструктор
  • _parseRules() protected

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

  • _triggerBeforeValidate() protected
    Распространяет событие beforeValidate
  • _validateWithModels() protected

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

  • _validationList() protected
    Обрабатывает переданный fieldList и возвращает список полей, подлежащих проверке
  • add() public

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

  • count() public
    Возвращает количество полей с правилами проверки
  • errors() public

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

  • getField() public

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

  • getIterator() public
    Возвращает итератор для каждого из полей, подлежащих проверке
  • getMethods() public

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

  • getModel() public
    Получает модель, связанную с этим валидатором
  • invalidate() public

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

  • offsetExists() public
    Возвращает, определён ли набор правил для поля
  • offsetGet() public
    Возвращает набор правил для поля
  • offsetSet() public
    Устанавливает набор правил для поля
  • offsetUnset() public
    Удаляет набор правил для поля
  • remove() public
    Удаляет правило из набора по его имени
  • setValidationDomain() public
    Устанавливает домен I18n для сообщений проверки. Этот метод цепной.
  • validateAssociated() public
    Проверяет одиночный запис, а также все непосредственно связанные записи.
  • validateMany() public
    Проверяет несколько отдельных записей для одной модели.
  • validates() public

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

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

__construct()source public

__construct( Model $Model )

Конструктор

Параметры

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

_parseRules()source protected

_parseRules( )

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

Возвращаемое значение

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

_triggerBeforeValidate()source protected

_triggerBeforeValidate( array $options array() )

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

Параметры

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

Возвращаемое значение

boolean

Вызываемые события

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

_validateWithModels()source protected

_validateWithModels( array $options )

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

Параметры

массив $options
Массив параметров для использования при проверке с моделями 'with'

Возвращаемое значение

boolean
Результат проверки моделей 'with'

См. также

Model::validates()

_validationList()source protected

_validationList( array $fieldList array() )

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

Параметры

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

Возвращаемое значение

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

add()source 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
или список правил, которые нужно добавить к набору правил поля

Возвращает

ModelValidator

count()source public

count( )

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

Возвращает

целое число

Реализация

Countable::count()

errors()source public

errors( string $options array() )

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

Параметры

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

Возвращает

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

Вызывает

Model.afterValidate $model

См. также

ModelValidator::validates()

getField()source public

getField( string $name null )

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

Параметры

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

Возвращает

CakeValidationSet|массив|null

getIterator()source public

getIterator( )

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

Возвращает

ArrayIterator

Реализация

IteratorAggregate::getIterator()

getMethods()source public

getMethods( )

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

Возвращает

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

getModel()source public

getModel( )

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

Возвращает

Model

invalidate()source public

invalidate( string $field , string $message true )

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

Параметры

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

offsetExists()source public

offsetExists( string $field )

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

Параметры

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

Возвращает

булево

Реализация

ArrayAccess::offsetExists()

offsetGet()source public

offsetGet( string $field )

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

Параметры

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

Возвращает

CakeValidationSet

Реализация

ArrayAccess::offsetGet()

offsetSet()source public

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

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

Параметры

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

Реализация

ArrayAccess::offsetSet()

offsetUnset()source public

offsetUnset( string $field )

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

Параметры

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

Реализация

ArrayAccess::offsetUnset()

remove()source public

remove( string $field , string $rule null )

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

Пример:

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

Параметры

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

Возвращает

ModelValidator

setValidationDomain()source public

setValidationDomain( string $validationDomain null )

Устанавливает домен I18n для сообщений валидации. Этот метод цепляется.

Параметры

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

Возвращает

ModelValidator

validateAssociated()source public

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

Проверяет одиночную запись, а также все непосредственно связанные записи.

Параметры

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

Возвращает

массив|булево

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


validateMany()source public

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

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

Параметры

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

Возвращает

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

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


END_OF_DOCUMENT_MARKER

validates()source public

validates( array $options array() )

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

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

Параметры

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

Возвращает

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

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

$_behaviorssource

protected массив

Хранит список имен поведений, которые были подключены при создании этого объекта

array()

$_fieldssource

protected CakeValidationSet[]

Хранит массив объектов CakeValidationSet

array()

$_methodssource

protected массив

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

array()

$_modelsource

protected Model

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

array()

$_modelMethodssource

protected массив

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

array()

$_validatesource

protected массив

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

array()

© 2005–2017 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.
https://api.cakephp.org/2.10/class-ModelValidator.html

Spec-Zone.ru

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