想象以下场景:您有一个很棒的应用,可能您使用了表单来注册用户,或者可能您需要检查一个字段是否有效或无效...我确信您使用了一种简单的方式来检查每个 textField、switch...V For Validation 尝试以一种简单的方式来帮助您实现这一点。
重要的信息
Validate != Check
VFV 有两部分
拖放或复制源文件夹到您的项目中。
pod 'VForValidation'
导入库
#import "VForValidation.h"
创建管理者
///@interface
@property (nonatomic, strong) VFValidationManager *validationManager;
///-(void)viewDidLoad
self.validationManager = [[VFValidationManager alloc] init];
创建验证
VFValidation *validation = [[VFValidation alloc] initWithValidationBlock:^BOOL{
return 1 != 2;
} validatedBlock:^(NSString *key, BOOL validated) {
if (validated) NSLog(@"True");
else NSLog(@"False");
} key:@"key"];
或者
VFValidation *validation = [[VFValidation alloc] initWithValidationBlock:^BOOL{
VFRegularExpression *regex = [[VFRegularExpression alloc]
initWithRegularExpression:@"^[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}$"
stringToValidate:@"[email protected]"];
return [regex validate];
} validatedBlock:^(NSString *key, BOOL validated) {
if (validated) NSLog(@"True");
else NSLog(@"False");
} key:@"key"];
添加验证
[self.validationManager addValidation:validation];
当您想时,验证!
[self.validationManager validate];
VFValidationManager.h
///Constructors
-(instancetype)initWithValidations:(NSArray *)validations;
///Adders
-(void)addValidation:(VFValidation *)validation;
-(void)addValidations:(NSArray *)validations;
///Modifiers
-(void)updateValidation:(VFValidation *)validation;
///Getters
-(VFValidation *)validationByKey:(NSString *)key;
-(NSArray *)validations;
///Validate and Check
-(void)validateByKey:(NSString *)key;
-(void)checkIfAllWasValidWithCompletion:(ValidatedWithoutKey)validated;
-(void)validateAndCheckIfAllWasValidWithCompletion:(ValidatedWithoutKey)validated;
VFValidation.h
///Constructors
-(instancetype)initWithValidationBlock:(ValidationBlock)validation
validatedBlock:(ValidatedBlock)validated;
-(instancetype)initWithValidationBlock:(ValidationBlock)validation
validatedBlock:(ValidatedBlock)validated
key:(NSString *)key;
///Setters
-(void)setValidationBlock:(ValidationBlock)validationBlock;
-(void)setValidatedBlock:(ValidatedBlock)validatedBlock;
-(void)setValidationBlock:(ValidationBlock)validationBlock
validatedBlock:(ValidatedBlock)validatedBlock;
-(void)setKey:(NSString *)key;
///Validate and Check
-(void)validate;
-(void)checkValidationWithCompletion:(ValidatedWithouKey)validated;
-(void)validateAndCheckWithCompletion:(ValidatedWithouKey)validated;
VFRegularExpression.h
///Constructors
- (instancetype)initWithRegularExpression:(NSString *)regex
stringToValidate:(NSString *)stringToValidate;
///Public API
- (BOOL)validate;
git checkout -b VFV-new-feature
git commit -am '添加新功能'
git push origin my-new-feature
VFV 可在 MIT 许可证下获得。