Всем доброго времени суток. Сегодня хочется поговорить про проблему валидации строк в IOS проектах. Думаю Вы как и я часто с этим сталкиваетесь, когда надо проверить, например, поле пароля на соответствие нескольким критериям.
Например:
— Длина пароля больше 6 символов
— Минимум одна цифра
— Буквы верхнего и нижнего регистра
Зачастую такое требование реализовываются примерно так:
func isPasswordCorrect(_ value:String) -> Bool {
// code for check length, number exist, uppercase and lowercase chars
}
Просто. Функция работает, пароль проверяется. Все довольны.
Дальше если нам надо проверить поле email на корректность, мы также пишем функцию, например:
func isEmailCorrect(_ value:String) -> Bool {
// code for check length, number exist, uppercase and lowercase chars
}
И так далее.
По росту проекта функций с такими проверками становится все больше и больше. При создании нового проекта нам надо или начинать все сначала или копировать эти функции с прошлого проекта. Не очень удобно. Один из вариантов решения под катом.
Читать полностью »