VForValidation 1.0.2

VForValidation 1.0.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
Released最后发布2016 年 4 月

Joan Molinas 维护。



V For Validation

想象以下场景:您有一个很棒的应用,可能您使用了表单来注册用户,或者可能您需要检查一个字段是否有效或无效...我确信您使用了一种简单的方式来检查每个 textField、switch...V For Validation 尝试以一种简单的方式来帮助您实现这一点。

工作原理

重要的信息

Validate != Check
  • Validate 执行验证并调用已验证的块。
  • Check 仅执行验证块。

VFV 有两部分

  • VFValidationManager.h:包含所有验证,并负责检查和验证。
  • VFValidation.h:检查哪些需要验证以及验证发生时的情况。
  • VFRegularExpression.h:创建正则表达式并验证字符串是否有效。

安装

手动

拖放或复制源文件夹到您的项目中。

Pod

pod 'VForValidation'

入门

  1. 导入库

    #import "VForValidation.h"
  2. 创建管理者

    ///@interface
    @property (nonatomic, strong) VFValidationManager *validationManager;
    
    ///-(void)viewDidLoad
    self.validationManager = [[VFValidationManager alloc] init];
  3. 创建验证

      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"];
  4. 添加验证

    [self.validationManager addValidation:validation]; 
  5. 当您想时,验证!

    [self.validationManager validate];

API

  • 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;

贡献

  1. 代码仓库分支
  2. 创建您的功能分支: git checkout -b VFV-new-feature
  3. 提交您的更改: git commit -am '添加新功能'
  4. 推送到分支: git push origin my-new-feature
  5. 提交拉取请求👌

致谢

许可证

VFV 可在 MIT 许可证下获得。