0

私は登録フォームを作成していますが、テキストフィールドのいずれかが空のままになっている場合は、それを検証したいと思います。しかし、テキストフィールドが空のときに通常の UIAlertView を表示したくありません。特定の textField の横に赤色の星印やその他のものを表示できますか?

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

これを試すことができます:

まず、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 に答える
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

わかりましたので、電子メールの多くのソリューションを入手できます。

スターに行きましょう。これには多くの方法があるかもしれませんが、そのうちの2つを挙げさせてください

  1. 開始を表示したい場所に非表示の UIImageView を追加し、空のままにすると表示されるようにします

  2. [UIView addSubView:UIImageView] を使用して、表示したいときに開始を表示します。

通常の * を赤色で表示したい場合は、UIImageView の代わりに UILabel を使用できます。

以下を使用して電子メールを検証します。

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 に答える
-1

まず、Shashank Kulshrestha が電子メールの検証について素晴らしい回答をくれました。無効または空の入力を示すために何かを表示したい場合は、そのテキスト フィールドに従ってください。赤いエッジが表示されます。1.QuartzCore フレームワークを追加します。2.インポート #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 に答える