Версия: 6.x
burger close
Класс ValidateArray

Подробное описание

Класс содержит функции валидации структуры массива

Открытые члены

 __construct (array $schema)
 
 validate ($param_name, $param_value, $full_data)
 
 getSchema ()
 
 getParamInfoHtml ()
 

Защищенные члены

 recursiveValidation ($schema, $param_name, $param_value, $full_data, $path=[])
 
 validateBranch ($key, $schema_orig, $param_name, $param_value, $cur_path, $full_data)
 

Защищенные данные

 $schema
 

Конструктор(ы)

__construct ( array  $schema)

Конструктор валидатора

Аргументы
array$schemaМассив с описание эталонной структуры данных Пример: array( '' => function($value, $all_parameters) {} 'fields' => array( '' => '...', '' => '....',

'status' => array( '' => t('ID статуса'), '' => 'integer', '' => function($value) { } ), 'payment' => array( '' => t('ID способа оплаты'), '' => 'integer', '' => function($value) { } ), 'is_payed' => array( '' => t('Флаг оплаты'), '' => 'integer', '' => array(1,0) ), 'courier_id' => array( '' => t('ID курьера'), '' => 'integer', '' => function($value) { } ) ), 'remove_items' => array( '' => t('Уникальные коды удаляемых из заказа товаров'), '' => 'array', '' => 'string', ) );

Методы

getParamInfoHtml ( )

Возвращает информацию о возможных значениях переменной в формате HTML, согласно схеме валидации

Возвращает
string
getSchema ( )

Возвращает схему валидации

Возвращает
array
recursiveValidation (   $schema,
  $param_name,
  $param_value,
  $full_data,
  $path = [] 
)
protected

Рекурсивно сверяет структуру $param_value со $schema

Аргументы
array$schema- результат выполнения метода $this->getUpdateDataScheme()
string$param_name- дмя переменной
array$param_value- данные для обновления
array$full_data- полные данные
array$path- параметр для внутренних нужд рекурсии
Исключения
\ExternalApi\Model\Exception
Возвращает
Возвращает $param_value с приведенными к нужным типам значения
validate (   $param_name,
  $param_value,
  $full_data 
)

Производит валидацию данных

Аргументы
string$param_name
array$param_value
validateBranch (   $key,
  $schema_orig,
  $param_name,
  $param_value,
  $cur_path,
  $full_data 
)
protected

Валидирует одну ветку массива

Аргументы
mixed$key- текущий ключ массива
mixed$schema_orig- ветка схемы валидации
mixed$param_name- имя валидируемого параметра
mixed$param_value- ветка значения валидируемого параметра
mixed$cur_path- текущий путь валидации от корня массива
mixed$full_data- все параметры, переданные в метод

Поля

$schema
protected