• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Codeless solution for form validation in iOS!

APValidators

APValidators

Build Status codecov.io Version License Platform

Form validation without any code!

APValidators is a codeless solution for form validation. Just connect everything right in Interface Builder and you're done. Supports really complex and extendable forms by allowing to connect validators in tree.

Features

  • Tree structure for validation rules.
  • No need for any inheritance in UI classes. This means you can use any UITextField or UITextView subclasses and still use APValidators.
  • Easy to integrate to any codebase.
  • Perfect unit tests code coverage.

Usage

  1. Create your form UI in Interface Builder.

  2. In Interface builder add Object Object to your UIViewController for every validator.

    Validators

  3. Assign custom class for every validator.

    • APRegexValidator - validates over regex expression.
    • APRequiredValidator - validates that string is not empty.
    • APZipValidator - ZIP code validation. Must have two-letters country code assigned. Currently supports 151 countries.
    • APEmailValidator - email validation.
    • APEqualValidator - validates that two controls has equal text.
    • APBlockValidator - invokes custom block for validation.
    • APCreditCardValidator - validates credit card number by Luhn alghoritm. Also returns credit card type.
    • APCharactersCountValidator - validates lenght of string by min and max characters count.
    • APCompoundValidator - allows to connect child validators. Will have valid state only if every child validator has valid state. Also returns errorMessages array of all not valid child validators errorMessage properties at the moment.

    Assign subclass

  4. Connect your UI-control validator property to validator Object. APValidators currently support only UITextField and UITextView subclasses.

    Connect validator

  5. Use APCompoundValidator if you need more than one validator for UI-control. Connect it to UI-control and all validators to it's validators property.

    Compound validator

  6. Use one APCompoundValidator as form validator and connect all other validators to it.

    Form validator

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • iOS 8.0 and higher
  • ARC

Installation

APValidators is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'APValidators'

Author

Nickolay Sheika, [email protected]

Contacts

If you have improvements or concerns, feel free to post an issue and write details.

Check out all Alterplay's GitHub projects. Email us with other ideas and projects.

License

APValidators is available under the MIT license. See the LICENSE file for more info.