File tree Expand file tree Collapse file tree 5 files changed +19
-39
lines changed
Expand file tree Collapse file tree 5 files changed +19
-39
lines changed Original file line number Diff line number Diff line change 99import Foundation
1010
1111public class EmailRule : RegexRule {
12-
13- public init ( ) {
14- super. init ( regex: " [A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+ \\ .[A-Za-z]{2,6} " )
15- }
16-
17- override public init ( regex: String ) {
18- super. init ( regex: regex)
19- }
20-
21- override public func errorMessage( ) -> String {
22- return " Must be a valid email address "
23- }
12+
13+ static let regex = " [A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+ \\ .[A-Za-z]{2,6} "
14+
15+ public convenience init ( message : String = " Must be a valid email address " ) {
16+ self . init ( regex: EmailRule . regex, message: message)
17+ }
2418}
Original file line number Diff line number Diff line change @@ -13,21 +13,14 @@ public class PasswordRule : RegexRule {
1313 // Alternative Regexes
1414
1515 // 8 characters. One uppercase. One Lowercase. One number.
16- // var PASSWORD_REGEX = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).{8,}$"
16+ // static let regex = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).{8,}$"
1717 //
1818 // no length. One uppercase. One lowercae. One number.
19- // var PASSWORD_REGEX = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).*?$"
19+ // static let regex = "^(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[a-z]).*?$"
20+
21+ static let regex = " ^(?=.*?[A-Z]).{8,}$ "
2022
21- public init ( ) {
22- super . init ( regex: " ^(?=.*?[A-Z]).{8,}$ " )
23+ public convenience init ( message : String = " Must be 8 characters with 1 uppercase " ) {
24+ self . init ( regex: PasswordRule . regex , message : message )
2325 }
24-
25- override public init ( regex: String ) {
26- super. init ( regex: regex)
27- }
28-
29- override public func errorMessage( ) -> String {
30- return " Must be 8 characters with 1 uppercase "
31- }
32-
3326}
Original file line number Diff line number Diff line change @@ -11,9 +11,11 @@ import Foundation
1111public class RegexRule : Rule {
1212
1313 private var REGEX : String = " ^(?=.*?[A-Z]).{8,}$ "
14-
15- public init ( regex: String ) {
14+ private var message : String
15+
16+ public init ( regex: String , message: String = " Invalid Regular Expression " ) {
1617 self . REGEX = regex
18+ self . message = message
1719 }
1820
1921 public func validate( value: String ) -> Bool {
@@ -22,6 +24,6 @@ public class RegexRule : Rule {
2224 }
2325
2426 public func errorMessage( ) -> String {
25- return " Invalid Regular Expression "
27+ return message
2628 }
2729}
Original file line number Diff line number Diff line change @@ -10,16 +10,7 @@ import Foundation
1010
1111public class ZipCodeRule : RegexRule {
1212
13- public init ( ) {
14- super . init ( regex: " \\ d{5} " )
13+ public convenience init ( message : String = " Enter a valid 5 digit zipcode " ) {
14+ self . init ( regex: " \\ d{5} " , message : message )
1515 }
16-
17- override public init ( regex: String ) {
18- super. init ( regex: regex)
19- }
20-
21- public override func errorMessage( ) -> String {
22- return " Enter a valid 5 digit zipcode "
23- }
24-
2516}
You can’t perform that action at this time.
0 commit comments