Реализованные валидаторы

Если вам здесь чего-то не хватает, дайте мне знать. Если вы написали нечто, что по вашему мнению стоит включить в библиотеку, приму с благодарностью. Речь идёт о достаточно универсальных валидаторах, которые могут многим пригодиться.

Содержание этой страницы:

Chain-head валидаторы

ИмяInput typeOutput typeОписание
VRequired / VOptional Param String Считает параметр пустым если тот не содержит значений, либо его первое значение - null или пустая строка. Если параметр не пуст, возвращает его первое значение.
VRequiredTrim / VOptionalTrim Param String Считает параметр пустым если тот не содержит значений, либо его первое значение - null, пустая строка или содержит только whitespaces. Если параметр не пуст, возвращает его первое значение с удалёнными лидирующими и хвостовыми whitespaces.
VRequiredList / VOptionalList Param List[String] Считает параметр пустым если тот не содержит значений. Если параметр не пуст, возвращает список его значений.

Обычные (не chain-head) валидаторы

ИмяInput typeOutput typeОписание
VBoolean String Boolean Успешен если input равен "1" или "0".
VDouble String Double Успешнен если input.toDouble() успешен.
VEmail String String Только тест, без преобразований данных. Проверяет input по регулярному выражению email-адреса.
VInt String Int Успешен если input.toInt() успешен.
VLength String String Только тест, без преобразований данных. Успешен если input-строка имеет заданную длину.
VLengthRange String String Только тест, без преобразований данных. Успешен если длина input-строки находится в заданном диапазоне.
VMax T <: Ordered[T] T Только тест, без преобразований данных. Успешен если input меньше или равен заданному значению.
VMaxLength String String Только тест, без преобразований данных. Успешен если длина input-строки не больше заданной.
VMin T <: Ordered[T] T Только тест, без преобразований данных. Успешен если input больше или равен заданному значению.
VMinLength String String Только тест, без преобразований данных. Успешен если длина input-строки не меньше заданной.
VMoney String BigDecimal Принимает строки, содержащие числа без разделителей тысяч, с '.' или ',' в качестве разделителя целой и дробной частей, и не более 2 цифр в дробной части.
VRange T <: Ordered[T] T Только тест, без преобразований данных. Успешен если input находится в заданном диапазоне.
VRegex String String Только тест, без преобразований данных. Успешен если input соответствует заданному регулярному выражению.
VSet T T Только тест, без преобразований данных. Успешен если input присутствует в заданном множестве.