From ba9615cc8573ea9c410ad5c51cbe3bc6e66fd68a Mon Sep 17 00:00:00 2001 From: mla2c Date: Mon, 1 Jun 2015 14:13:26 +0200 Subject: [PATCH] Changes from leodasvacas fork (Custom messages for regex rules, commit 157e9791fb1774f31636321cc6c3cff46b32d92c) --- Validator/EmailRule.swift | 12 +++--------- Validator/PasswordRule.swift | 19 ++++++------------- Validator/RegexRule.swift | 6 ++++-- Validator/ZipCodeRule.swift | 13 ++----------- 4 files changed, 15 insertions(+), 35 deletions(-) diff --git a/Validator/EmailRule.swift b/Validator/EmailRule.swift index 0223f2a..50b83d4 100644 --- a/Validator/EmailRule.swift +++ b/Validator/EmailRule.swift @@ -10,15 +10,9 @@ import Foundation public class EmailRule: RegexRule { - public init(){ - super.init(regex: "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}") - } + static let regex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}" - override public init(regex:String){ - super.init(regex: regex) - } - - override public func errorMessage() -> String { - return "Must be a valid email address" + public convenience init(message : String = "Must be a valid email address"){ + self.init(regex: EmailRule.regex, message: message) } } \ No newline at end of file diff --git a/Validator/PasswordRule.swift b/Validator/PasswordRule.swift index baf98eb..772f50a 100644 --- a/Validator/PasswordRule.swift +++ b/Validator/PasswordRule.swift @@ -13,21 +13,14 @@ public class PasswordRule : RegexRule { // Alternative Regexes // 8 characters. One uppercase. One Lowercase. One number. - // var PASSWORD_REGEX = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).{8,}$" + // static let regex = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).{8,}$" // // no length. One uppercase. One lowercae. One number. - // var PASSWORD_REGEX = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).*?$" + // static let regex = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).*?$" - public init(){ - super.init(regex: "^(?=.*?[A-Z]).{8,}$") + static let regex = "^(?=.*?[A-Z]).{8,}$" + + public convenience init(message : String = "Must be 8 characters with 1 uppercase") { + self.init(regex: PasswordRule.regex, message : message) } - - override public init(regex: String) { - super.init(regex: regex) - } - - override public func errorMessage() -> String { - return "Must be 8 characters with 1 uppercase" - } - } \ No newline at end of file diff --git a/Validator/RegexRule.swift b/Validator/RegexRule.swift index af00238..42f6fb5 100644 --- a/Validator/RegexRule.swift +++ b/Validator/RegexRule.swift @@ -11,9 +11,11 @@ import Foundation public class RegexRule : Rule { private var REGEX: String = "^(?=.*?[A-Z]).{8,}$" + private var message : String - public init(regex: String){ + public init(regex: String, message: String = "Invalid Regular Expression"){ self.REGEX = regex + self.message = message } public func validate(value: String) -> Bool { @@ -22,6 +24,6 @@ public class RegexRule : Rule { } public func errorMessage() -> String { - return "Invalid Regular Expression" + return message } } diff --git a/Validator/ZipCodeRule.swift b/Validator/ZipCodeRule.swift index 0df941f..52a5f7a 100644 --- a/Validator/ZipCodeRule.swift +++ b/Validator/ZipCodeRule.swift @@ -10,16 +10,7 @@ import Foundation public class ZipCodeRule: RegexRule { - public init(){ - super.init(regex: "\\d{5}") + public convenience init(message : String = "Enter a valid 5 digit zipcode"){ + self.init(regex: "\\d{5}", message : message) } - - override public init(regex: String) { - super.init(regex: regex) - } - - public override func errorMessage() -> String { - return "Enter a valid 5 digit zipcode" - } - } \ No newline at end of file