嗨我是Ios的初学者在我的项目中我正在创建一个注册页面,我必须提供文本字段的验证,就像最好的水平一样,我已经搜索了这么多的文本域验证教程,但我没有得到正确的一个< / p>
根据我的要求,当我点击文本字段时,如果有任何错误,那么需要在文本字段上显示警告消息,如下面的屏幕为此我写了这么多自定义方法,但他们不工作,请帮我一些
答案 0 :(得分:1)
您必须制作自定义视图以验证textFields
您可以尝试使用https://github.com/ustwo/US2FormValidator
参考Objective-C的代码
US2ValidatorTextField *firstNameTextField = [[US2ValidatorTextField alloc] init];
firstNameTextField.validator = [[[MyProjectValidatorName alloc] init] autorelease];
firstNameTextField.shouldAllowViolation = YES;
firstNameTextField.validateOnFocusLossOnly = YES;
firstNameTextField.placeholder = @"Enter first name";
firstNameTextField.validatorUIDelegate = self;
[_textUICollection addObject:firstNameTextField];
[firstNameTextField release];
希望它对你有所帮助。
答案 1 :(得分:1)
我已经编写了很多UITextField
个验证器,它总是最好自己做这类事情,因为每个要求都不同,并且对它有更多的控制权。
验证的最佳时间通常是UItextField
结束编辑时 - 这样您就知道用户已完成。
您需要查看UITextField
个delegate
方法并使用text
参数来检查长度和类型。
我无法提供任何代码,因为您没有说明您想要做什么样的验证。如果它的电子邮件 - 这是你需要的东西(虽然它在Objective-C中)
/* Email address validation test */
NSString *emailReg = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailReg];
if ([emailTest evaluateWithObject:emailAddress]){
validEmail = YES;
}
答案 2 :(得分:1)
就像你可以用简单的代码来实现它,就像检查和显示警报一样。
你可以通过使用这段代码实现这一目标
// To check the email field is not empty string
if([[self.email text] isEqualToString:@""]){
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Warning" message:@"Enter your email!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alertView show];
}
// To check the email field has '@' empty string
else if ([self.email.text rangeOfString:@"@"].location == NSNotFound){
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Warning" message:@"Enter proper email!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alertView show];
}
您可以这样实现,也可以根据需要使用库。