Валидатор json набора полей

Класс Evas\Validate\JsonFieldset наследуется от Evas\Validate\Fieldset и расширяет его поддержкой декодирования json-строки перед валидацией

Свойства локальных шаблонов ошибок

ИмяТипОписание
$jsonParseErrorstringшаблон ошибки разбора json
$jsonEmptyErrorstringшаблон ошибки пустого json
$jsonTypeErrorstringшаблон ошибки типа json, он должен быть строкой

Валидация

isValid

Валидация данных

АргументТипОписаниеПо умолчанию
1mixedданные для валидации в виде json-строки
2bool|nullпроверять на все ошибкиfalse
3bool|nullвызывается ли из родительского набора полейfalse
$jsonFieldset->isValid('{"email":"test@test.com", "password": "test123"}');

throwIfNotValid

Проверяет данные на валидность с выбросом исключения в случае ошибки

АргументТипОписание
1mixedданные для валидации в виде json-строки
$jsonFieldset->throwIfNotValid('{"email":"test@test.com", "password": "test123"}');

Получение ошибок валидации

Метод errors() позволяет получить объект ошибок валидации

$fieldset->errors();

Получение отвалидированных значений

В случае успеха валидации, отвалидированные значения будет доступны в переменной $values в виде ассоциативного массива с именами полей в качестве ключей.

$data = '{"email": "test@test.com", "password": "test123"}';

$fieldset = (new JsonFieldset([
    'email' => new EmailField,
    'password' => ['min' => 6, 'max' => 30],
])->throwIfNotValid($data);

echo 'Привет, ' . $fieldset->values['email'] . '. Добро пожаловать на наш сайт.';

Наследование

Вы можете создать свой класс валидатора json набора полей отнаследовавшись от Evas\Validate\JsonFieldset также как в примере с обычным валидатором набора полей.