我有这个活动,我想验证确认密码字段。这是我的代码 - :
nt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(email.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("E-mail field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(pass.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Password field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(conpass.getText().toString()!= pass.getText().toString() ){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Passwords do not match");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(name.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Name field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(dob.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Date of birth field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(address.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Address field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(city.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("City field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(zip.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Zip field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(phone.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Phone No. field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(mobile.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Mobile No field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else{
String mail = email.getText().toString();
String pas = pass.getText().toString();
String fname = name.getText().toString();
String dateob = dob.getText().toString();
String add12 = address.getText().toString();
String tow = city.getText().toString();
String zip1 = zip.getText().toString();
String mob = mobile.getText().toString();
String phn = phone.getText().toString();
Intent per = new Intent(getApplicationContext(), Register2.class);
per.putExtra("email", mail);
per.putExtra("name", fname);
per.putExtra("password", pas);
per.putExtra("mobile", mob);
per.putExtra("phone", phn);
per.putExtra("address", add12);
per.putExtra("zip", zip1);
per.putExtra("city", tow);
per.putExtra("dateofbirth", dateob);
startActivity(per);
}
}
});
现在,即使我将两个edittext字段设为相同,它仍然显示密码不匹配的警告对话框。请在此帮助我。谢谢。
答案 0 :(得分:10)
您无法使用=
或!=
比较字符串,而是使用equals
else if(!conpass.getText().toString().equals(pass.getText().toString()) )
答案 1 :(得分:1)
尝试此功能:
public boolean isPasswordMatching(String password, String confirmPassword) {
Pattern pattern = Pattern.compile(password, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(confirmPassword);
if (!matcher.matches()) {
// do your Toast("passwords are not matching");
return false;
}
return true;
}
答案 2 :(得分:0)
参考这个以获得处理此
的线索简单的过滤
在if
条件下检查old password
和new password
不是null
或empty
并且检查两者都不相同
如果new password
和old password
不是null
或empty
,则检查两个长度是否相等并验证两个字符串是否相等
如果您喜欢简单验证,可以选择此项
@Override
public void afterTextChanged(Editable s) {
System.out.println(s.toString());
String oldPass = oldPassword.getText().toString();
String newPass = newPassword.getText().toString();
String confirmPass = confirmPassword.getText().toString();
if (!oldPass.equals("") && !newPass.equals("") && oldPass.equals(newPass)) {
Toast.makeText(getContext(), "Choose Different Password than Old Password", Toast.LENGTH_SHORT).show();
}
else if (!newPass.equals("") && !confirmPass.equals("") && !newPass.equals(confirmPass) && newPass.length()==confirmPass.length())
{
Toast.makeText(getContext(), "Choose same as New Password", Toast.LENGTH_SHORT).show();
}
}