Хелп!!! нужно создать класс для проверки значений по определённым критериям. Критерии проверки передаются в конструктор в виде массива объектов, где каждый объект представляет собой отдельный критерий
{
name: 'required' /* строка с уникальным именем критерия */,
check: value => { /* логика проверки, проверка прошла - вернуть true, нет - false */ },
message: value => { /* возвращает строку с сообщением об ошибке */ }
}
класс должен иметь два метода:
- toggleValidator(name, state) - включает/выключает определённый критерий. name - имя критерия, state (необязательный) - boolean состояние критерия. Если state не передан, то первый вызов метода должен выключить критерий, а следующий включить и т.д.
- validate(value) - производит проверку значения value по включённым критериям. Возвращает объект:
{
valid: /* true - проверка прошла, false - нет */,
errors: /* Map с ошибками, где ключ это имя критерия, значение - сообщение об ошибке */
}