2017-06-13 6 views
0

登録フォームを検証しているフラグメントを作ったが、いつかはうまくいくが、数秒後にアプリがメッセージを表示せずに停止せず、エラーログも表示されない...わからない何が起こるのですか。ここでSignUpの検証が失敗する

が私のコードです:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      View view = inflater.inflate(R.layout.fragment_register, container, false); 
      RegUsername = (EditText) view.findViewById(R.id.RegUsername); 
      RegEmailId = (EditText) view.findViewById(R.id.RegEmailId); 
      RegPhoneNo = (EditText) view.findViewById(R.id.RegPhoneNo); 
      RegPassword = (EditText) view.findViewById(R.id.RegPassword); 
      RegisterButton = (Button) view.findViewById(R.id.Register); 
      RegisterButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Register(); }})}; 

      return view; } 

     private void Register() { 
      initialize(); 

      if (!registerfail()) { 
       Toast.makeText(getActivity(), "Registration failed! || Try Again", Toast.LENGTH_SHORT).show(); 
      } else { 
       registerok(); 
      } 
     } 

     private void registerok() { 
      Toast.makeText(getActivity(), "Welcome " + Username, Toast.LENGTH_SHORT); 
     } 

     private boolean registerfail() { 
      boolean validation = true; 
      if (Username.isEmpty() || Username.length() > 25) { 
       RegUsername.setError("Invalid username"); 
validation = false; 
      } 
      if (EmailId.isEmpty() || !Patterns.EMAIL_ADDRESS.matcher(EmailId).matches()) { 
       RegEmailId.setError("Invalid EmailId"); 
validation = false; } 
      } 
      if (PhoneNo.isEmpty()) { 
       RegPhoneNo.setError("Invalid PhoneNo."); 
validation = false; } 
      } 
      if (Password.isEmpty()) { 
       RegPassword.setError("Invalid Password"); 
validation = false;} 
      } 
      return validation; } 

     private void initialize() { 
      Username = RegUsername.getText().toString().trim(); 
      EmailId = RegEmailId.getText().toString().trim(); 
      PhoneNo = RegPhoneNo.getText().toString().trim(); 
      Password = RegPassword.getText().toString().trim(); }} 

答えて

2
//set validation = false if any if condition is failed  
private boolean registerfail() { 
    boolean validation = true; 

    if (Username.isEmpty() || Username.length() > 25) { 
     RegUsername.setError("Invalid username"); 
     validation = false; 
    } 
    if (EmailId.isEmpty() || !Patterns.EMAIL_ADDRESS.matcher(EmailId).matches()) { 
     RegEmailId.setError("Invalid EmailId"); 
     validation = false; 
    } 
    if (PhoneNo.isEmpty()) { 
     RegPhoneNo.setError("Invalid PhoneNo."); 
     validation = false; 
    } 
    if (Password.isEmpty()) { 
     RegPassword.setError("Invalid Password"); 
     validation = false; 
    } 
    return validation; 
} 
+0

私はこのコードをまだ更新しています。 –

+0

Toast.makeText(getActivity()、 "Welcome" +ユーザー名、Toast.LENGTH_SHORT).show();あなたのregisterOkメソッドで –

+0

はい登録されたメソッド –

2

この方法を試してみてください私の友人

String emailAddress = RegEmailId.getText().toString().trim(); 

if (RegPassword.getText().toString().length() < 6) { 
RegPassword.setError(getString("password minimum contain 6 character")); 
RegPassword.requestFocus(); 
} 

if (RegPassword.getText().toString().equals("")) { 
RegPassword.setError(getString("please enter password")); 
RegPassword.requestFocus(); 
} 

if (RegPhoneNo.getText().toString().equals("")) { 
RegPhoneNo.setError(getString("please enter password")); 
RegPhoneNo.requestFocus(); 
} 

if (!android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches()) { 
RegEmailId.setError(getString("please enter valid email address")); 
RegEmailId.requestFocus(); 
} 

if (RegEmailId.getText().toString().equals("")) { 
RegEmailId.setError(getString("please enter email address")); 
RegEmailId.requestFocus(); 
} 

if (!emailAddress.equals("") && 
RegPassword.getText().toString().length() >= 6 && 
!RegPassword.getText().toString().trim().equals("") 
&& android.util.Patterns.EMAIL_ADDRESS.matcher(emailAddress).matches() && 
!RegPhoneNo.getText().toString().equals("")&& 
RegPhoneNo.getText().toString().length()>=10) { 
// do your action 
} 
+0

このコードはregisterfail方法に存在する必要がありますか? –

関連する問題