2016-07-22 62 views
0

此代碼適用於用戶名和移動號碼,根據我的選擇,但它不適用於電子郵件驗證。 注意我只想檢查電子郵件它是非空。如何檢查電子郵件的驗證只有這個字段是非空的。**記住我知道的邏輯但如何把邏輯在這個代​​碼,因爲 **我已經嘗試了幾種邏輯,但在電子郵件編輯文本中什麼都不做僅當字段非空時才發送電子郵件驗證

public class Login extends BaseActivity { 

    JSONObject jsonobject; 
    JSONArray jsonarray; 

    private ProgressDialog dialog; 



    ArrayList<String> arealist; 
    //ArrayList<GetterSetter> area; 



    public static final String PREFS_NAME = "MyPrefsFile"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     Button login = (Button) findViewById(R.id.button_register); 

     login.setOnClickListener(new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) { 

       EditText user = (EditText) findViewById(R.id.editText_enter_name); 
       EditText mobile = (EditText) findViewById(R.id.editText_mobNo); 
       EditText email = (EditText) findViewById(R.id.editText_email); 




       // Check The Validity of empty fields 
       boolean Resp = validate(new EditText[]{user,mobile}); 


       // Check The Validity of emailID 
        boolean e_valid = isEmailValid(email.getText()); 

       // Check The Validity of Mobile Numbers 
       boolean mobile_valid = isMobValid(mobile.getText()); 

       if (Resp && mobile_valid && e_valid) { 

        PostJson(); 
       } else { 
       Toast.makeText(Login.this, "Field incorrect..!!!", 
          Toast.LENGTH_SHORT).show(); 
       } 

       if (Resp) { 
        String pass = mobile.getText().toString(); 
        String e_check = email.getText().toString(); 
        if (TextUtils.isEmpty(pass) || pass.length() < 10) { 
         mobile.setError("Mobile number should be of 10 digits");} 

         else if (e_check!=null || e_check.length() >=1) { 

          email.setError("Email Address in invalid format"); 

         Toast.makeText(Login.this, 
           "Email Address in invalid format", 
           Toast.LENGTH_SHORT).show(); 
          // Chk Validation of mobile number 

          if (mobile_valid) { 

           if (e_valid) { 


            if (isInternetPresent) { 
             // setting progress bar to zero 
             dialog = new ProgressDialog(Login.this); 
             dialog.setMessage("Please Wait..."); 
             dialog.setIndeterminate(false); 
             dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
             dialog.setProgressNumberFormat(null); 
             dialog.setProgress(0); 
             dialog.show(); 

//       Toast.makeText(Login.this, "Connecting....", Toast.LENGTH_LONG) 
//         .show(); 

            } else { 

             Toast.makeText(Login.this, "Unable to connect the server, please check your data settings", Toast.LENGTH_LONG) 
               .show(); 
            } 
           } 
          } 
         } 

        } 
       } 





      // =====To check the validation of Emails and Empty 
      // Fields==========// 

      public boolean isEmailValid(Editable email) { 
       boolean isValid = false; 

       String expression = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@" 
         + "((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
         + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\." 
         + "([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
         + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" 
         + "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$"; 
       CharSequence inputStr = email; 

       Pattern pattern = Pattern.compile(expression, 
         Pattern.CASE_INSENSITIVE); 
       Matcher matcher = pattern.matcher(inputStr); 

       if (matcher.matches()) { 
        isValid = true; 
       } 

       return isValid; 
      } 

      public boolean isMobValid(Editable mobile) { 

       boolean isOk = false; 

       String exp = "^[0-9]{10}$"; 
       CharSequence inputStr = mobile; 

       Pattern pattern = Pattern 
         .compile(exp, Pattern.CASE_INSENSITIVE); 
       Matcher matcher = pattern.matcher(inputStr); 
       if (matcher.matches()) { 
        isOk = true; 
       } 
       return isOk; 
      } 

      public boolean validate(EditText[] fields) { 
       // TODO Auto-generated method stub 
       for (int i = 0; i < fields.length; i++) { 
        EditText currentField = fields[i]; 
        if (currentField.getText().toString().length() <= 0) { 

         currentField.setError("This field can't be empty"); 
//      Toast.makeText(Login.this, "Enter all the fields..!!!", 
//        Toast.LENGTH_SHORT).show(); 
         return false; 
        } 
       } 
       return true; 
      } 
     }); 
    } 

    // ==========// 




    // =========================== Json Object==================// 

    public void PostJson() { 


      } 



      @Override 
      public void onFailure(Throwable e, String response) { 


       Log.e("ERROR_LOG", "onFailure request" + e.toString()); 
       Toast.makeText(Login.this, "Error in Connection.....", 
         Toast.LENGTH_SHORT).show(); 

      } 

      @Override 
      public void onFinish() { 
       // //////// { onFinish body}/////////////////////////////// 
       super.onFinish(); 


       // //////////////////////////////////////////////////////// 

      } 
     }); 
    } 


} 
+0

檢查我編輯的答案.. –

回答

0

您需要檢查:

if (email.getText().toString().equalsIgnoreCase("")) { 
    // email is empty 
} else { 
    //email is not empty 
} 
+0

如何把上面的代碼,因爲我試過這個邏輯,但不適用於我的代碼。 – Adi

2

用於驗證電子郵件ID使用Android的默認的電子郵件mathcher。

android.util.Patterns.EMAIL_ADDRESS.matcher(your data).matches(); 

例如,

if (etMail.getText().toString().trim().equals("")) { 
    Toast.makeText(getApplicationContext(), 
        "Please enter your e-mail id", Toast.LENGTH_SHORT) 
        .show(); 
} else if (!android.util.Patterns.EMAIL_ADDRESS.matcher(
       etMail.getText().toString().trim()).matches()) { 
    Toast.makeText(getApplicationContext(), 
        "Please enter valid e-mail id", Toast.LENGTH_SHORT) 
        .show(); 
}else{ 
    // Do your stuff 
} 

編輯:

if (user.getText().toString().trim().equals("")) { 
    Toast.makeText(getApplicationContext(), 
        "Please enter username", Toast.LENGTH_SHORT) 
        .show(); 
} else if (mobile.getText().toString().trim().equals("")) { 
    Toast.makeText(getApplicationContext(), 
        "Please enter your mobile number", Toast.LENGTH_SHORT) 
        .show(); 
} else if (mobile.getText().length() < 10) { 
    Toast.makeText(getApplicationContext(), 
        "Please enter valid mobile number", Toast.LENGTH_SHORT) 
        .show(); 
} else if (!etMail.getText().toString().trim().equals("")) { 
    if (!android.util.Patterns.EMAIL_ADDRESS.matcher(
       etMail.getText().toString().trim()).matches()) { 
     Toast.makeText(getApplicationContext(), 
        "Please enter valid e-mail id", Toast.LENGTH_SHORT) 
        .show(); 
    } 
}else{ 
    // Do your stuff 
} 

編碼快樂..

+0

如何把上面的代碼,因爲我試過這個邏輯,但不適用於我的代碼 – Adi

+0

你的代碼有點複雜,你正在檢查相同的驗證多次..張貼您的JSON在我的代碼中的其他部分。 –

+0

我已經嘗試過,但它不工作。 – Adi

1

我已經編輯好class.Hope現在的工作。

 public class Login extends BaseActivity { 

      JSONObject jsonobject; 
      JSONArray jsonarray; 

      private ProgressDialog dialog; 



      ArrayList<String> arealist; 
      //ArrayList<GetterSetter> area; 



      public static final String PREFS_NAME = "MyPrefsFile"; 

      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_login); 
       Button login = (Button) findViewById(R.id.button_register); 

       login.setOnClickListener(new View.OnClickListener() 
       { 
        @Override 
        public void onClick(View v) { 

         EditText user = (EditText) findViewById(R.id.editText_enter_name); 
         EditText mobile = (EditText) findViewById(R.id.editText_mobNo); 
         EditText email = (EditText) findViewById(R.id.editText_email); 

         if (user.getText().toString().trim().equals("")) { 
          Toast.makeText(getApplicationContext(), 
            "Please enter username", Toast.LENGTH_SHORT) 
            .show(); 
         } else if (mobile.getText().toString().trim().equals("")) { 
          Toast.makeText(getApplicationContext(), 
            "Please enter your mobile number", Toast.LENGTH_SHORT) 
            .show(); 
         } else if (mobile.getText().length() < 10) { 
          Toast.makeText(getApplicationContext(), 
            "Please enter valid mobile number", Toast.LENGTH_SHORT) 
            .show(); 
         } else if (!email.getText().toString().trim().equals("")) { 
          if (!android.util.Patterns.EMAIL_ADDRESS.matcher(
            email.getText().toString().trim()).matches()) { 
           Toast.makeText(getApplicationContext(), 
             "Please enter valid e-mail id", Toast.LENGTH_SHORT) 
             .show(); 
          } 
         }else{ 
          // Do your stuff 
          PostJson(); 

          if (isInternetPresent) { 
           // setting progress bar to zero 
           dialog = new ProgressDialog(Login.this); 
           dialog.setMessage("Please Wait..."); 
           dialog.setIndeterminate(false); 
           dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
           dialog.setProgressNumberFormat(null); 
           dialog.setProgress(0); 
           dialog.show(); 

     //       Toast.makeText(Login.this, "Connecting....", Toast.LENGTH_LONG) 
     //         .show(); 

          } else { 

           Toast.makeText(Login.this, "Unable to connect the server, please check your data settings", Toast.LENGTH_LONG) 
             .show(); 
          } 
         } 




        } 





        // =====To check the validation of Emails and Empty 
        // Fields==========// 

        public boolean isEmailValid(Editable email) { 
         boolean isValid = false; 

         String expression = "^(([\\w-]+\\.)+[\\w-]+|([a-zA-Z]{1}|[\\w-]{2,}))@" 
           + "((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
           + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\." 
           + "([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\\.([0-1]?" 
           + "[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|" 
           + "([a-zA-Z]+[\\w-]+\\.)+[a-zA-Z]{2,4})$"; 
         CharSequence inputStr = email; 

         Pattern pattern = Pattern.compile(expression, 
           Pattern.CASE_INSENSITIVE); 
         Matcher matcher = pattern.matcher(inputStr); 

         if (matcher.matches()) { 
          isValid = true; 
         } 

         return isValid; 
        } 

        public boolean isMobValid(Editable mobile) { 

         boolean isOk = false; 

         String exp = "^[0-9]{10}$"; 
         CharSequence inputStr = mobile; 

         Pattern pattern = Pattern 
           .compile(exp, Pattern.CASE_INSENSITIVE); 
         Matcher matcher = pattern.matcher(inputStr); 
         if (matcher.matches()) { 
          isOk = true; 
         } 
         return isOk; 
        } 

        public boolean validate(EditText[] fields) { 
         // TODO Auto-generated method stub 
         for (int i = 0; i < fields.length; i++) { 
          EditText currentField = fields[i]; 
          if (currentField.getText().toString().length() <= 0) { 

           currentField.setError("This field can't be empty"); 
     //      Toast.makeText(Login.this, "Enter all the fields..!!!", 
     //        Toast.LENGTH_SHORT).show(); 
           return false; 
          } 
         } 
         return true; 
        } 
       }); 
      } 

      // ==========// 




      // =========================== Json Object==================// 

      public void PostJson() { 


      } 



      @Override 
      public void onFailure(Throwable e, String response) { 


       Log.e("ERROR_LOG", "onFailure request" + e.toString()); 
       Toast.makeText(Login.this, "Error in Connection.....", 
         Toast.LENGTH_SHORT).show(); 

      } 

      @Override 
      public void onFinish() { 
       // //////// { onFinish body}/////////////////////////////// 
       super.onFinish(); 


       // //////////////////////////////////////////////////////// 

      } 
     }); 
       } 


       } 
+0

如何把上面的代碼,因爲我試過這個邏輯,但不適用於我的代碼 – Adi

+0

檢查我更新的答案...!標記此答案接受,如果這有幫助.. –

+0

這裏有一些問題後,輸入完整的有效的電子郵件地址,後json不工作 – Adi

相關問題