Skip to content

ungrome/java-project-78

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hexlet tests and linter status:

Actions Status Maintainability Test Coverage

Что такое "Валидатор данных"?

"Валидатор данных" - библиотека, с помощью которой можно проверять корректность любых данных форм, заполняемых пользователями. Особенности проекта:

  1. объектно-ориентированная архитектура
  2. расширяемость кода без необходимости его переписывания
  3. применяются базовые принципы программирования SOLID
  4. используется fluent-интерфейс, позволяющий декларативно описывать постановку задачи валидации данных.

Пример использования:

import hexlet.code.Validator;
import hexlet.code.schemas.StringSchema;
import hexlet.code.schemas.NumberSchema;
import hexlet.code.schemas.MapSchema;
import hexlet.code.schemas.BaseSchema;

Validator v = new Validator();

// Строки
StringSchema schema = v.string().required();

schema.isValid("what does the fox say"); // true
schema.isValid(""); // false

// Числа
NumberSchema schema = v.number().required().positive();

schema.isValid(-10); // false
schema.isValid(10); // true

// Объект Map с поддержкой проверки структуры
Map<String, BaseSchema> schemas = new HashMap<>();
schemas.put("name", v.string().required());
schemas.put("age", v.number().positive());

MapSchema schema = v.map().sizeof(2).shape(schemas);

Map<String, Object> human1 = new HashMap<>();
human1.put("name", "Kolya");
human1.put("age", 100);
schema.isValid(human1); // true

Map<String, Object> human2 = new HashMap<>();
human2.put("name", "");
human2.put("age", null);
schema.isValid(human2); // false

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published