2016-07-19 1 views
-5

Validez le format d'e-mail uniquement si EditText n'est pas vide dans Android. Et si le champ est vide, la validation ne doit pas être vérifiée. Je n'ai trouvé aucune solution dans ce scénario qui soit utile pour moi.Validation de l'e-mail uniquement lorsque le champ n'est pas vide dans Android

+1

Je peux vous aider mais montre d'abord votre effort ici, comme ce que vous avez déjà fait – Vickyexpert

+0

ce que vous avez essayé jusqu'à présent? à la première recherche sur google –

Répondre

1

Essayez ce code

final EditText emailEditTxt= (EditText)findViewById(R.id.text); 

String emailStr = emailEditTxt.getText().toString().trim(); 

if(emailStr!=null) 

if(emailStr.length()>=1){ 

String emailPattern = "[a-zA-Z0-9._-][email protected][a-z]+\\.+[a-z]+"; 


if (emailStr .matches(emailPattern)) 
{ 
Toast.makeText(getApplicationContext(),"valid email address",Toast.LENGTH_SHORT).show(); 
} 
else 
{ 
Toast.makeText(getApplicationContext(),"Invalid email address", Toast.LENGTH_SHORT).show(); 
} 
} 
0

Utilisez cette méthode pour le modèle de vérification email est valide ou non

public static boolean isEmailValid(CharSequence email) { 
     return Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
    } 
0

validateEmail

private boolean validateEmail() { 
if (!edemail.getText().toString().trim().isEmpty()&&!ValidationMethod.emailValidation(edemail.getText().toString())) 
    { 

     input_layout_email.setError("Invalid Email"); // Your textInput Layout or other set your error on edittext email 
     requestFocus(edemail); 
     return false; 
    } 

    else { 
     input_layout_email.setErrorEnabled(false); 
    } 

    return true; 
} 

    // if you need requestfocus other wise remove 
private void requestFocus(View view) { 
    if (view.requestFocus()) { 
     getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
    } 
} 

ValidationMethod.java // mis dans votre projet

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class ValidationMethod { 

    static Matcher m; 
    static String emailExpression = "^[\\w\\.-][email protected]([\\w\\-]+\\.)+[A-Z]{2,20}$"; 
    static Pattern emailPattern = Pattern.compile(emailExpression, Pattern.CASE_INSENSITIVE); 
    static String passwordExpression ="((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\\W).{8,20})"; 
    static Pattern passwordPattern=Pattern.compile(passwordExpression); 

    public static boolean emailValidation(String s) 
    { 
     if(s == null) 
     { 
      return false; 
     } 
     else 
     { 
      m = emailPattern.matcher(s); 
      return m.matches(); 
     } 
    } 

    public static boolean passwordValidation(String s) 
    { 
     if(s == null) 
     { 
      return false; 
     } 
     else 
     { 
      m = passwordPattern.matcher(s); 
      return m.matches(); 
     } 
    } 

    public static boolean emailValidation2(String s) 
    { 
     m = emailPattern.matcher(s); 
     return m.matches(); 
    } 
} 
1

Essayez cette ..

et utiliser la valeur flag pour une utilisation ultérieure

0

essayer cette

<form> 
    <lable for="userEmail">Email : </label> 
    <input type="email" id="userEmail" placeholder="[email protected]" required="required"> 
<form> 
0

Disons que vous avez déclaré EditText comme ça.

EditText emailField;

puis dans votre méthode

emailField = (EditText)view.getViewById(R.id.NAME_OF_FIELD_IN_XML); 
if(!TextUtils.isBlank(emailField.getText().toString())){ 
    //validate your email address 
} 

Utiliser lien ci-dessous pour le code de validation email.

http://stackoverflow.com/questions/12947620/email-address-validation-in-android-on-edittext 
0

Vous pouvez essayer ceci pour validation.

public boolean Email_validation(String CorpId) 
{ 
    String regExpn = 
      "^(([\\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 = CorpId; 

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

    if(matcher.matches()) 
     return true; 
    else 
     return false; 
}