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.
- 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.
-
Create your form UI in Interface Builder.
-
In Interface builder add Object to your UIViewController for every validator.
-
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 returnserrorMessages
array of all not valid child validatorserrorMessage
properties at the moment.
-
Connect your UI-control
validator
property to validator Object. APValidators currently support only UITextField and UITextView subclasses. -
Use
APCompoundValidator
if you need more than one validator for UI-control. Connect it to UI-control and all validators to it'svalidators
property. -
Use one
APCompoundValidator
as form validator and connect all other validators to it.
To run the example project, clone the repo, and run pod install from the Example directory first.
- iOS 8.0 and higher
- ARC
APValidators is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'APValidators'
Nickolay Sheika, hawk.ukr@gmail.com
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.
APValidators is available under the MIT license. See the LICENSE file for more info.