diff --git a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/EmailValidator.kt b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/EmailValidator.kt index 98e353e..d3ebeda 100644 --- a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/EmailValidator.kt +++ b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/EmailValidator.kt @@ -6,7 +6,7 @@ import javax.validation.ConstraintValidator import javax.validation.ConstraintValidatorContext class EmailValidator( - @Value("\${validation.email.regex}") + @Value("\${validation.email.regex:$DEFAULT_EMAIL_REGEX}") private val emailValidationRegex: Regex ) : ConstraintValidator { @@ -15,4 +15,8 @@ class EmailValidator( ?: true } + companion object { + private const val DEFAULT_EMAIL_REGEX = "^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`\\{\\|\\}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`\\{\\|\\}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$" + } + } diff --git a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PasswordValidator.kt b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PasswordValidator.kt index 045a4e1..a50debd 100644 --- a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PasswordValidator.kt +++ b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PasswordValidator.kt @@ -6,7 +6,7 @@ import javax.validation.ConstraintValidator import javax.validation.ConstraintValidatorContext class PasswordValidator( - @Value("\${validation.password.regex}") + @Value("\${validation.password.regex:$DEFAULT_PASSWORD_REGEX}") private val passwordValidationRegex: Regex ) : ConstraintValidator { @@ -15,4 +15,8 @@ class PasswordValidator( ?: true } + companion object { + private const val DEFAULT_PASSWORD_REGEX = "^\\S{6,20}$" + } + } diff --git a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PhoneNumberValidator.kt b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PhoneNumberValidator.kt index 52c1045..ff98f43 100644 --- a/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PhoneNumberValidator.kt +++ b/validation-spring/src/main/kotlin/ru/touchin/validation/spring/validators/PhoneNumberValidator.kt @@ -6,7 +6,7 @@ import javax.validation.ConstraintValidator import javax.validation.ConstraintValidatorContext class PhoneNumberValidator( - @Value("\${validation.phone.regex}") + @Value("\${validation.phone.regex:$DEFAULT_PHONE_REGEX}") private val phoneValidationRegex: Regex ) : ConstraintValidator { @@ -15,4 +15,8 @@ class PhoneNumberValidator( ?: true } + companion object { + private const val DEFAULT_PHONE_REGEX = "\\+7\\d{10}" + } + } diff --git a/validation-spring/src/main/resources/config/application.yaml b/validation-spring/src/main/resources/config/application.yaml deleted file mode 100644 index aaf6ccb..0000000 --- a/validation-spring/src/main/resources/config/application.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# default validation patterns -validation: - phone: - regex: "\\+7\\d{10}" - email: - regex: "^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`\\{\\|\\}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`\\{\\|\\}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$" - password: - regex: "^\\S{6,20}$"