JUValidate 0.9.2

JUValidate 0.9.2

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

Sidney Just维护。



  • Sidney Just

JUValidate 是一个库,用于轻松编写对象图验证,通常用于验证由某些第三方 API 返回的对象图是否包含正确格式化的数据。这是一个通常如何用 Objective-C 编写验证的例子(或者,因为太麻烦,你可能根本就会跳过它)

- (void)myFunction:(NSDictionary *)input
{
    id name = [input objectForKey:@"name"];
    if(![name isKindOfClass:[NSString class]])
        return; // Probably indicate some error here...

    id value = [input objectForKey:@"value"];
    if(![value isKindOfClass:[NSNumber class]])
        return; // Also error indication here...

    NSInteger number = [value integerValue];
    if(number < 5 || number > 60)
        return; // Aaaaand guess what?

    // Do something with 2 sanitized values
}

另一方面,使用 JUValidate,它变得像这样简单

- (void)myFunction:(NSDictionary *)input
{
        JUValidator *validator = [JUValidator validatorWithName:nil andSetupBlock:^(JUValidator *validator) {

            validator.valueForKey(@"name").isClass([NSString class]);
            validator.valueForKey(@"value").number.isInRange(@(5), @(60));

        }];

        NSError *error;
        BOOL result = [validator validateObject:input error:&error];

        if(!result)
            return; // Hey, there already IS an error!
}