2011-10-31 13 views
-1

私は8つのテキストフィールドと1つの送信ボタンがある登録フォームを作成しています。テキストフィールドの検証方法は?

ユーザーがテキストフィールドのいずれかを入力できなかった場合は、送信ボタンをクリックするとエラーメッセージが生成されます。

ユーザーがすべてのテキストフィールドを入力すると、送信ボタンをクリックすると次のページに移動します。

私はいくつかのアドバイスを、ありがとう。

答えて

5

単純なロジックです。送信アクションで、textField.textがnilまたは空(@ "")でないことを確認します。 textField.textがUIAlertを表示していない場合。場合..すべてのテキストフィールドのif文にこれを入れ

[textfield.text isEqualToString:@""] 

を使用して、すべてのテキストフィールドのデータをチェックし、ボタンを提出

-(IBAction)submit:(id)sender 
{ 
    //Do all the textField Validation 
} 

のクリックにする方法を設定し、この

-(IBAction) submitButton 
{ 
    if(self.txtName == nil || [self.txtName.text isEqualToString:@""]) 
    { 
    [self showErrorAlert]; 
    } 

    if(self.txtEmail == nil || [self.txtEmail.text isEqualToString:@""]) 
    { 
    [self showErrorAlert]; 
    } 


} 
// and show error alert as 
-(void) showErrorAlert 
{ 
    UIAlertView *ErrorAlert = [[UIAlertView alloc] initWithTitle:@"" 
           message:@"All Fields are mandatory." delegate:nil 
           cancelButtonTitle:@"OK" 
           otherButtonTitles:nil, nil]; 
    [ErrorAlert show]; 
    [ErrorAlert release]; 
} 
+0

私は1のUITextField以上のものを持っている場合は? –

1

のように条件が真であれば、警告を表示する。

2
-(void)emptyTextfieldVaildation 
{ 
    if(([TxtFieldName.text isEqualToString:@""]) || ([TxtFieldPaswrd.text isEqualToString:@""])) 
    { 

    UIAlertView *ErrorAlert = [[UIAlertView alloc] initWithTitle:@"Error!!" 
           message:@"Please fill in the details." delegate:nil 
           cancelButtonTitle:@"OK" 
           otherButtonTitles:nil, nil]; 
    [ErrorAlert show]; 
    [ErrorAlert release]; 
    } 
    else 
    { 
    // Action to be called on Submit button touch 
    } 
} 
+0

チェック:if([TxtFieldName.text isEqualToString @ ""] && [TxtFieldName.text length] == 0){NSLog(@ "詳細を記入してください、名前は空です"); } –

+0

それは私のために働く。 –

0

これまでにすべてのフィールドをチェックする必要があり、これを行うにはいくつかの方法があります。各フィールドのテキストの長さを制御し、フィールドが空の場合は警告を表示することができます。 NSStringのlengthプロパティを確認することができるので、長さにも対応できます(たとえば、パスワードは8文字でなければなりません。そうでない場合はAlert)。 あなたはこれら8つのTextFieldをタグ付けしている場合(または、あなたのビューでちょうどこのテキストフィールドがあることを知っていれば)良い方法は、このようなことがあります。

for(UITextField * tf in [self.view subviews]){ 
if(![tf.text length]>0){ 
     //show the alert 
    } 
} 

は、このことができます願っています。

0

私もこれで苦労し、私は空のテキストフィールドを処理するために

if ([myTextField.text length] == 0) { 
     // error code to handle empty text field. 
} 

を使用昨夜。それはもちろん、空のテキストフィールドの場合は動作しますが、スペースがあれば失敗します。 SOの一部の人々は、上記のコードを使用して評価する前に、文字列を最初にトリムするよう提案します。 ...一意にすべてのあなたのテキストフィールドのリンク

How to enable a UIButton if a textfield is not empty?

0

セットタグプロパティを参照してくださいと、ボタンのアクションイベントにif(textFieldName.tag==*yourtag*)を使用してそれらにアクセス