ValidationRule

open class ValidationRule<V>

ValidationRule is the parent of all validation rules.

  • Initializes an ValidationRule object. Should be inherited by child classes

    Declaration

    Swift

    public init(message: String)

    Return Value

    An initialized object, or nil if an object could not be created for some reason.

  • Validates value.

    Declaration

    Swift

    open func validate(_ value: V?) -> String?

    Parameters

    value

    Any value to be validated.

    Return Value

    Error Message. nil if validation is successful; String if validation fails.

  • Quick accessor for AlphaNumericRule

    Declaration

    Swift

    class var alphaNumeric: ValidationRule<String> { get }
  • Quick accessor for AlphaRule

    Declaration

    Swift

    class var alpha: ValidationRule<String> { get }
  • Quick accessor for ArrayLengthRule

    Declaration

    Swift

    class func arrayLength<V>(min: Int, max: Int) -> ValidationRule<Array<V>>
  • Quick accessor for ArrayRule

    Declaration

    Swift

    class func array<V>(rules: [ValidationRule<V>]) -> ValidationRule<Array<V>>
  • Quick accessor for CharacterSetRule

    Declaration

    Swift

    class func characterSet(_ validCharacters: CharacterSet) -> ValidationRule<String>
  • Quick accessor for ConfirmRule

    Declaration

    Swift

    class func confirm<V>(_ value: V) -> ValidationRule<V> where V : Equatable
  • Quick accessor for CoordinateRule

    Declaration

    Swift

    class var coordinate: ValidationRule<[Double]> { get }
  • Quick accessor for CurrencyRule

    Declaration

    Swift

    class var currency: ValidationRule<String> { get }
  • Quick accessor for DateRule

    Declaration

    Swift

    class func date(format: String = "yyyy-MM-dd'T'HH:mm:ss.SSSZ") -> ValidationRule<String>
  • Quick accessor for EmailRule

    Declaration

    Swift

    class var email: ValidationRule<String> { get }
  • Quick accessor for EnumRule

    Declaration

    Swift

    class func `enum`<V>(_ values: [V]) -> ValidationRule<V> where V : Equatable
  • Quick accessor for ExactLengthRule

    Declaration

    Swift

    class func exactLength(_ length: Int) -> ValidationRule<String>
  • Quick accessor for FloatRule

    Declaration

    Swift

    class var floatingPoint: ValidationRule<String> { get }
  • Quick accessor for FullNameRule

    Declaration

    Swift

    class var fullName: ValidationRule<String> { get }
  • Quick accessor for HexColorRule

    Declaration

    Swift

    class var hexColor: ValidationRule<String> { get }
  • Quick accessor for IPV4Rule

    Declaration

    Swift

    class var ipv4: ValidationRule<String> { get }
  • Quick accessor for ISBNRule

    Declaration

    Swift

    class var isbn: ValidationRule<String> { get }
  • Quick accessor for ISO8601DateRule

    Declaration

    Swift

    @available(OSX 10.12, iOS 10.0, watchOS 3.0, *)
    class func iso8601Date(options: ISO8601DateFormatter.Options = []) -> ValidationRule<String>
  • Quick accessor for LengthRule

    Declaration

    Swift

    class func length(min: Int, max: Int) -> ValidationRule<String>
  • Quick accessor for MonthRule

    Declaration

    Swift

    class var month: ValidationRule<String> { get }
  • Quick accessor for NumericRule

    Declaration

    Swift

    class var numeric: ValidationRule<String> { get }
  • Quick accessor for PasswordRule

    Declaration

    Swift

    class func password(strength: PasswordRule.Strength = .weak) -> ValidationRule<String>
  • Quick accessor for PhoneNumberRule

    Declaration

    Swift

    class func phoneNumber(format: PhoneNumberRule.Format = .national) -> ValidationRule<String>
  • Quick accessor for PinCodeRule

    Declaration

    Swift

    class var pinCode: ValidationRule<String> { get }
  • Quick accessor for RangeRule

    Declaration

    Swift

    class func range<V>(min: V, max: V) -> ValidationRule<V> where V : Comparable, V : CustomStringConvertible
  • Quick accessor for RegexRule

    Declaration

    Swift

    class func regex(pattern: String) -> ValidationRule<String>
  • Quick accessor for RequiredRule

    Declaration

    Swift

    class var required: ValidationRule { get }
  • Quick accessor for ValidatableRule

    Declaration

    Swift

    class func validatable<V>() -> ValidationRule<V> where V : Validatable
  • Quick accessor for YearExpiryRule

    Declaration

    Swift

    class func yearExpiry(validity: Int = 3) -> ValidationRule<String>
  • Quick accessor for ZipCodeRule

    Declaration

    Swift

    class var zipCode: ValidationRule<String> { get }