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
-5
A
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;
}
Je peux vous aider mais montre d'abord votre effort ici, comme ce que vous avez déjà fait – Vickyexpert
ce que vous avez essayé jusqu'à présent? à la première recherche sur google –