的UITextField验证
问题描述:
我想验证我的文本字段。我有两个文本框用户名和密码。我要检查,如果用户名文本字段保持为空,则不允许用户移动到文本框的密码,直到他输入用户名。任何示例代码来做到这一点将不胜感激。的UITextField验证
在此先感谢。
答
你让你的用户名文本字段作为firstResponder.Then在文本字段并beginediting方法检查,如果输入的字符或not.And在textfieldDidEndEditing,检查文本框是不如果它不为空,则允许密码字段成为第一响应者,否则将第一响应者保留为用户名文本字段本身。
答
您要检查这– textFieldDidBeginEditing:
委托
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if(textField==passwordField)
{
if([userField.text isEqualToString:@""])
//Dont leave user field empty
}
}
答
假设你有某种形式的提交按钮,我不建议试图人为地让用户处于一个字段。而是设置submitButton.enabled = NO
,直到两个字段都有效。如果您指出这些字段是必需的,那么用户不会像他无法更改文本字段焦点一样困惑。
为了进行验证,在IB中设置了两个文本框'EditingChanged
指向viewContoller中的一个方法,如ValidateEntry
。给他们两个独特的标签,只有1和2,或者你有什么。
在ValidateEntry字段中确定哪一个正在被编辑 - (id)发件人将有一个标签告诉你哪个是 - 哪个字段有效使提交按钮可用,submitButton.enabled = YES
。如果其中任一个无效,请禁用它。
在我看来,这是更友好和结果完全一样:没有发送空字段。
答
禁用密码文本框在viewDidLoad中
yourPassWordTextField.enabled=NO;
,并通过使用
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self
selector:@selector (handle_TextFieldTextChanged:)
name:UITextFieldTextDidChangeNotification
object:self.yourUserIdTextField];
- (void) handle_TextFieldTextChanged:(id)notification {
if(![yourUserIdTextField.text isEqualToString:@""])
{
yourPassWordTextField.enabled=YES;
}
else
yourPassWordTextField.enabled=NO;
}
在.h文件中
-(void)registerForTextFieldNotifications;
文本框上添加一个通知declair这也。
@middaparka OOF,是啊,错过了之前我打了那么久的答案。 @Prazi真的,检查在你之前的问题上帮助你的答案旁边的复选标记。您可以通过点击页面顶部的用户名来轻松找到他们。 – 2010-12-20 13:39:11