12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #import "XLFormRegexValidator.h"
- @implementation XLFormRegexValidator
- -(instancetype)initWithMsg:(NSString*)msg andRegexString:(NSString*)regex {
- self = [super init];
- if (self) {
- self.msg = msg;
- self.regex = regex;
- }
-
- return self;
- }
- -(XLFormValidationStatus *)isValid: (XLFormRowDescriptor *)row {
- if (row != nil && row.value != nil) {
-
-
-
- id value = row.value;
- if ([value isKindOfClass:[NSNumber class]]){
- value = [value stringValue];
- }
- if ([value isKindOfClass:[NSString class]] && [value length] > 0) {
- BOOL isValid = [[NSPredicate predicateWithFormat:@"SELF MATCHES %@", self.regex] evaluateWithObject:[value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];
- return [XLFormValidationStatus formValidationStatusWithMsg:self.msg status:isValid rowDescriptor:row];
- }
- }
- return nil;
- };
- +(XLFormRegexValidator *)formRegexValidatorWithMsg:(NSString *)msg regex:(NSString *)regex {
- return [[XLFormRegexValidator alloc] initWithMsg:msg andRegexString:regex];
- }
- @end
|