From e1bf581f0eddec17a7c2ffc98e1835feaaacdc38 Mon Sep 17 00:00:00 2001 From: "Martin J. Lasek" Date: Tue, 13 Feb 2018 10:11:25 +0100 Subject: [PATCH 1/2] add convenient call to Array type for validating --- Sources/Forms/Form.swift | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Sources/Forms/Form.swift b/Sources/Forms/Form.swift index 635db67..3cf8695 100644 --- a/Sources/Forms/Form.swift +++ b/Sources/Forms/Form.swift @@ -22,14 +22,20 @@ extension Form { // MARK: ValidationModeValidatable -extension Form { - +extension Array where Element == ValidationModeValidatable { + /// Validates each field according to the validation mode. /// Throws on first invalid field. public func validate(inValidationMode mode: ValidationMode) throws { guard mode != .none else { return } - try fields.forEach { try $0.validate(inValidationMode: mode) } + try forEach { try $0.validate(inValidationMode: mode) } + } +} + +extension Form { + public func validate(inValidationMode mode: ValidationMode) throws { + try fields.map { $0 as ValidationModeValidatable }.validate(inValidationMode: mode) } } From 61c408d6c9a9a20d327b12863ca3bce41eea95bc Mon Sep 17 00:00:00 2001 From: Martin Lasek Date: Tue, 13 Feb 2018 13:07:45 +0100 Subject: [PATCH 2/2] rmeoved whitespaces / added .resolved to gitignore --- .gitignore | 1 + Sources/Forms/Fieldset/FieldsetMiddleware.swift | 8 ++++---- Sources/Forms/Fieldset/ViewData+fieldSet.swift | 2 +- Sources/Forms/FieldsetEntryRepresentable.swift | 4 ++-- Sources/Forms/Form.swift | 2 +- Sources/Forms/FormField.swift | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index eb33e53..bf7aa5d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /*.xcodeproj Package.pins +Package.resolved diff --git a/Sources/Forms/Fieldset/FieldsetMiddleware.swift b/Sources/Forms/Fieldset/FieldsetMiddleware.swift index 17b85d4..de30b0f 100644 --- a/Sources/Forms/Fieldset/FieldsetMiddleware.swift +++ b/Sources/Forms/Fieldset/FieldsetMiddleware.swift @@ -2,19 +2,19 @@ import HTTP public class FieldsetMiddleware: Middleware { public init() {} - + public func respond( to request: Request, chainingTo next: Responder ) throws -> Response { let session = request.session - + // move fieldset from session to request request.fieldset = session?.fieldset session?.fieldset = nil - + let response = try next.respond(to: request) - + // store any new fieldset in the session for the next request session?.fieldset = response.fieldset return response diff --git a/Sources/Forms/Fieldset/ViewData+fieldSet.swift b/Sources/Forms/Fieldset/ViewData+fieldSet.swift index a9cb742..a519bd5 100644 --- a/Sources/Forms/Fieldset/ViewData+fieldSet.swift +++ b/Sources/Forms/Fieldset/ViewData+fieldSet.swift @@ -17,7 +17,7 @@ extension ViewData { } self = viewData } - + public init( fieldset: Node? = nil, request: Request? = nil, diff --git a/Sources/Forms/FieldsetEntryRepresentable.swift b/Sources/Forms/FieldsetEntryRepresentable.swift index 9aac7d0..7aa7ee9 100644 --- a/Sources/Forms/FieldsetEntryRepresentable.swift +++ b/Sources/Forms/FieldsetEntryRepresentable.swift @@ -8,13 +8,13 @@ public protocol FieldsetEntryRepresentable { } extension FieldsetEntryRepresentable { - + /// Creates FieldsetEntry value from FormField with given key public func makeFieldsetEntry() -> FieldsetEntry? { guard let key = key else { return nil } - + return FieldsetEntry( key: key, label: label, diff --git a/Sources/Forms/Form.swift b/Sources/Forms/Form.swift index 3cf8695..46717de 100644 --- a/Sources/Forms/Form.swift +++ b/Sources/Forms/Form.swift @@ -23,7 +23,7 @@ extension Form { // MARK: ValidationModeValidatable extension Array where Element == ValidationModeValidatable { - + /// Validates each field according to the validation mode. /// Throws on first invalid field. public func validate(inValidationMode mode: ValidationMode) throws { diff --git a/Sources/Forms/FormField.swift b/Sources/Forms/FormField.swift index bf78f47..571ffef 100644 --- a/Sources/Forms/FormField.swift +++ b/Sources/Forms/FormField.swift @@ -43,7 +43,7 @@ extension FormField: FieldsetEntryRepresentable { public var node: NodeRepresentable? { return value } - + public var errorReasons: [String] { do { try validate(value)