JAMValidatingTextField 为 iOS 中的 UITextField 添加了验证功能,解决了如何直观地表示文本框内容是否有效的问题。
提供了属性来设置有效/无效颜色、状态、验证块、验证正则表达式和验证代理。您可以直接在控制器中设置 isValid BOOL,分配一个验证块,分配一个 NSRegularExpression,或实现验证代理协议。分配的验证检查将在文本框每次更改时触发。设置一个验证方法将取消其他方法的设置。
默认的视觉反馈显示无效的文本框带有红色轮廓和红色 X,有效的文本框带有绿色轮廓和绿色勾选标记。
使用块进行验证的示例
textField.validationBlock = ^{
return (BOOL)(textField.text.length > 3);
};
使用代理协议进行验证的示例
- (BOOL)textFieldIsValid:(JAMValidatingTextField *)textField
{
return (textField.text.length > 10);
}
使用 NSRegularExpression 进行验证的示例
NSString *emailRegEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,6}";
self.textField.validationRegularExpression = [NSRegularExpression regularExpressionWithPattern:emailRegEx options:NSRegularExpressionCaseInsensitive error:nil];