У меня есть класс, который проверяет строки с использованием класса данных «ValidationRequirements» и возвращает сообщение об ошибке Enum, если оно недопустимо.В зависимости от того, какие требования были переданы, перечисление должно скорректировать строку в соответствии с ней.
ValidationRequirements:
data class ValidationRequirements(
//--------CONFIG_REQUIREMENTS--------
val PREFIX_STRING: String,
val REQUIRED_LENGTH: Int,
val MAXIMUM_LENGTH: Int,
val REQUIRE_SPECIAL_CHARACTERS: Boolean,
val REQUIRE_DIGITS: Boolean,
val REQUIRE_LOWER_CASE: Boolean,
val REQUIRE_UPPER_CASE: Boolean,
val REQUIRE_SPACE_SEPARATION: Boolean
)
Enum:
enum class StringStrengthReport(private val errorMessage: String) {
INVALID_EMAIL_FORMAT("Invalid email format\n"),
TO_SHORT(" requires at least 6 characters\n"),
LOWER_CASE_REQUIRED(" requires at least one lower case character\n"),
UPPER_CASE_REQUIRED(" requires at least one upper case character\n"),
DIGIT_REQUIRED(" requires at least one numeric character\n"),
SPECIAL_CHARACTER_REQUIRED(" requires at least one special character (i.e !&?#%)\n"),
MAX_LENGTH_EXCEEDED(" max length is 32 characters\n"),
NULL_STRING(TO_SHORT.errorMessage),
VALID(" is valid!\n");
}
Возможно липередать требования для изменения минимальной / максимальной длины для различных типов строк?