Валидатор данных - библиотека, которая проверяет корректность входящих данных. Поддерживает валидацию строковых и целочисленных значений, словарей Map. Пользователь имеет возможность настраивать необходимую схему валидации самостоятельно.
В консоль введите команду:
git clone git@github.com:DariaPolubenko/data-validator.git
cd data-validator
Затем введите следующую команду, чтобы создать JAR-файл:
./gradlew jar
Созданный файл находится в и дирректории ./build/libs. Скопируйте его и положите себе в проект. Как правило, в корне проекта создается дирректория "libs", куда помещается скаченный jar-файл.
Далее необходимо подключить зависимость в конфигурационном файле.
- Для gradle-kotlin build system добавьте в файл build.gradle.kts следующее:
dependencies {
implementation(files("libs/имя_файла.jar"))
}
- Для gradle-groovy build system, добавьте в файл build.gradle:
dependencies {
implementation files('libs/имя_файла.jar')
}
Создайте объект:
var v = new Validator();
Укажите тип проверяемых данных:
- v.string() - для работы со строками;
- v.number() - для работы с числами;
- v.map() - для работы с объектами типа Map
И составьте схему валидации:
var schema = v.string().required().minLength(5).contains("hex");
СХЕМЫ ВАЛИДАЦИИ (схемы проверок накапливаются на объектах)
1. Для строковыч значений:
- required(): проверка на null или пустую строку
- minLength(int n): проверка минимальной длины, принимает размер строки
- contains(String str): проверка на содержимое указанных символов, принимает строку
2. Для целочисленныч значений:
- required(): проверка на null,
- positive(): проверка на знак числа
- range(Integer min, Integer max): проверка допустимого диапазона значений, принимает два числа: минимально допустимое и максимально допустимое
3. Для словарей Map:
- required(): проверка объекта на null
- sizeof(Integer size): проверка размера Map, принимает размер Map
- shape(Map<тип_проверяемых_данных, BaseSchema>): метод проверки для вложенных значений в Maр. Проверяет соответсвует ли каждое значение Map переданным схемам Принимает Map с заданными схемами проверки: каждому свойству проверяемого объекта Map привязывается свой набор ограничений (своя схема), см. "пример валидации вложенных данных"
Отправьте схему и данные на проверку, ипользуя метод isValid(объект_валидации):
schema.isValid("hexlet"); // true
var v = new Validator(); //создаем объект
var schema = v.map(); // указываем тип проверяемых данных
Map<String, BaseSchema<String>> schemas = new HashMap<>(); //создаем объект Map
schemas.put("firstName", v.string().required()); // для каждого значения добавляем свои схемы для проверки
schemas.put("lastName", v.string().required().minLength(2));
schema.shape(schemas); //отправлем созданные схемы проверок
Map<String, String> human1 = new HashMap<>(); //создаем объект Map, который будем проверять на валидность
human2.put("firstName", "John");
human2.put("lastName", null);
schema.isValid(human2); // проверяем данные на проверку, результат работы метода в данном примере 'false'
Map<String, String> human3 = new HashMap<>();
human3.put("firstName", "Anna");
human3.put("lastName", "B");
schema.isValid(human3); // 'false'