|ReleasedLast Release||Aug 2016|
Maintained by Nickolay Sheika.
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.
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 returns
errorMessagesarray of all not valid child validators
errorMessageproperties at the moment.
Connect your UI-control
validator property to validator Object. APValidators currently support only UITextField and UITextView subclasses.
APCompoundValidator if you need more than one validator for UI-control. Connect it to UI-control and all validators to it's
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.
APValidators is available through CocoaPods. To install it, simply add the following line to your Podfile:
Nickolay Sheika, [email protected]
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.