Инструменты пользователя

Инструменты сайта


ядро:w_response

Это старая версия документа!


Объект w_response

Класс для подготовки ответа AJAX

Расположение

core/core.php

Поля

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

ПолеОписаниеТип
failtrue, при ошибке формыboolean
requestНовые данные запроса страницыobject
redirectПереадресацию страницы. reload, для перезагрузкиstring
urlНовый url страницыstring

Статичные методы

load

w_response::load(context)

Инициализация объекта

АргументОписаниеТипПо-умолчанию
contextКонтекст, необходимый для обработки слоевobject обязательный
ВозвращаетОбъект w_responseОбъект w_response

Методы объекта

errorField

w_response::errorField(test,field,message) Валидация поля формы, подготовка сообщений об ошибке, устанавливает поле fail в true.

АргументОписаниеТипПо-умолчанию
testаргумент для обработки условия. Обрабатывать в случае trueboolean обязательный
fieldУказатель поля формы. Соответствует атрибуту data-fieldstring обязательный
messageСообщение об ошибкеstring обязательный
Возвращаетtrueboolean

exec

w_response::exec() Закончить обработку и вывести данные.

layout

w_response::layout(layout,source)

Подготовить данные слоя к выводу. Исходный код слоя source будет помещен в слой layout

АргументОписаниеТипПо-умолчанию
layoutИмя слоя, в который необходимо поместить данныеИмя слоя обязательный
sourceИсходный код слояstring обязательный
Возвращаетtrueboolean

render

w_response::render(layout,layout_to)

Подготовить данные слоя к выводу. Слой layout будет обработан и выведен в слой layout, либо в layout_to, если соответствующий аргумент присутствует.

АргументОписаниеТипПо-умолчанию
layoutИмя выводимого слояИмя слоя обязательный
layout_toИмя слоя, в который необходимо поместить данныеИмя слояnull
Возвращаетtrueboolean

Формат ответа

После завершения выполнения формируется JSON-ответ в следующем формате

{
   fail: null, //результат валидации
   src: [  //массив слоев 
      {
        layout:string, //имя целевого слоя
        src:string, //исходный код слоя
      }
   ],
   errors: { }, //список ошибок валидации (поле: текст ошибки)
   redirect: string, //ссылка для переадресации
   url: string, //новый url страницы
   request: {} //новые данные запроса страницы
}

Пример

$response = w_response::load($this); //получение объекта результата запроса
$field1 = w_input::int('field1'); //получаем поле field1 как число
$field2 = w_input::text('field2'); //получаем поле field2 как текст
 
$response->errorField($field1, 'somebody.field1', 'Поле field1 заполнено неверно'); 
$response->errorField($field2, 'somebody.field2', 'Поле field2 заполнено неверно'); //проверка полей
 
if (!$response->fail) { //проверяем, если проверка прошла успешно
   $response->render('user.user.profile'); //обрабатываем для вывода профиль пользователя
   $response->info = 'Все ок!'; //передаем переменную info
}
$response->exec(); //Отправляем данные
ядро/w_response.1543453095.txt.gz · Последние изменения: 2018/11/29 03:58 — a1