0

我正在做一个注册表单,如果任何文本字段为空,那么我想验证它。但是当文本字段为空时,我不想显示常规的 UIAlertView。我可以在特定文本字段旁边显示任何标记的红色星号或其他任何内容吗?

如何验证以检查 emailId 模式?

4

6 回答 6

2

您可以在您的textField

if ([yourTextField.text isEqualToString:@""])
    {
        yourTextField.textColor=[UIColor redColor];
        yourTextField.text=@"Value Required";
    } 

在 .h 文件中设置您的 textField 的委托

<UITextFieldDelegate>

并且textFieldDidBeginEditing您可以更改您的文本字段颜色

如果您在 textField 中设置 * 则执行此操作

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    if ([textField.text isEqualToString:@"*"])
    {
        textField.text=@"";
        textField.textColor=[UIColor blackColor];
    }
}

或者,您可以在您的旁边制作一个标签textField并最初将其隐藏并在需要时显示。

验证电子邮件

- (BOOL)isValidEmailId:(NSString*)email
{

    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

    return [emailTest evaluateWithObject:email];
}
于 2013-01-16T07:17:16.583 回答
1

验证电子邮件字段:

- (BOOL)EmailValidationL:(NSString *)email
{
    NSString *emailRegEx =@"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
    @"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
    @"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
    @"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
    @"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
    @"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
    @"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";

    NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
    a= [regExPredicate evaluateWithObject:email];
    return a;
}

为了检查它,请执行以下操作:

if (![self EmailValidationL:emailtxt.text])
    {

        mailAlert  =[[UIAlertView alloc]initWithTitle:@"Error"
                                              message:@"Email Field Is Not Valid"
                                             delegate:nil
                                    cancelButtonTitle:nil
                                    otherButtonTitles:@"OK",nil];
        [mailAlert show];
        [mailAlert release];
    }
于 2013-01-16T07:08:50.830 回答
0

是的,您可以显示带有 * 文本的红色图像或标签,您可以明智地隐藏和显示它。

要验证电子邮件,您可以使用以下代码

 +(BOOL) validateEmail: (NSString *) email 
 {
      NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]";
      NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
      BOOL isValid = [emailTest evaluateWithObject:email];
      return isValid;
 }
于 2013-01-16T07:08:11.050 回答
0

好的,所以你得到了很多电子邮件解决方案。

所以让我们去追星吧。你可能有很多方法让我给其中两个

  1. 添加隐藏的 UIImageView 您要显示开始的地方,并且使用时将其留空时可见

  2. 使用 [UIView addSubView:UIImageView] 在您想要显示时显示开始。

如果你想以红色显示正常 *,你可以使用 UILabel 而不是 UIImageView。

我使用以下来验证电子邮件:

NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];

if(![emailTest evaluateWithObject:txtMail.text])
{
  //Your code if wrong email
}

祝一切顺利....

于 2013-01-16T07:15:51.497 回答
0

你可以试试这个:

首先,在 XIB 中使用简单的文本和颜色获取简单的标签:

-(void)DidLoad
{
   -----
   lbl.hidden = YES;
   -----
}

Attributes:
text = "* email invalid"
color = "red"

Or whatever you like.

'textDidEndEditing' 方法。

- (void)textFieldDidEndEditing:(UITextField *)textField
{
   if(textField == txtEmail)
   {
      if(![txtEmail.text isEqualToString:@""])
      {
         bool chk = [self validateEmail:txtEmail.text];
         if(!chk)
         {
            lbl.hidden = NO;
            lbl.text = @"email invalid";
         }
         else
            lbl.hidden = YES;
      }
      else
      {
         lbl.hidden = NO;
         lbl.text = @"* required";
      }
   }
}

电子邮件验证

+(BOOL) validateEmail: (NSString *) email 
{
  NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
  NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
  BOOL isValid = [emailTest evaluateWithObject:email];
  return isValid;
}
于 2013-01-16T07:23:14.880 回答
-1

首先,Shashank Kulshrestha 对验证电子邮件给出了很好的回答。现在,如果您想显示一些指示无效或空输入的内容,请遵循该文本字段。它将显示红色边缘。1.添加QuartzCore框架。2.Import #import 3.添加以下代码:

if (textfield==empty || invalid)
{
    textField.layer.cornerRadius=8.0f;
    textField.layer.masksToBounds=YES;
    textField.layer.borderColor=[[UIColor redColor]CGColor];
    textField.layer.borderWidth= 1.0f;

}
于 2013-01-16T07:21:51.780 回答