[英]How to use Jsf validator to see if a user name and/or email already exists
[英]how to find if the user's mail id, name, password already exists in android ? for sign in functionality
如何查找用户的邮件 ID、姓名、密码是否已存在于登录功能中。 如果用户提供相同的名称、邮件、密码,我检查它是否显示 400 错误请求。 所以现在如何在用户已经注册的 toast 中显示它。 我不知道响应代码和状态代码是否相等,请检查我的代码。
public class RegisterActivity extends AppCompatActivity {
private static final String TAG = "Register Activity";
private EditText registerFullName, registerEmailAddress, registerPhoneNumber, registerPassword, registerRePassword;
private CheckBox signUpCheckBox;
private static final Pattern PASSWORD_PATTERN =
Pattern.compile("^" +
"(?=.*[0-9])" + //at least 1 digit
// "(?=.*[a-z])" + //at least 1 lower case letter
// "(?=.*[A-Z])" + //at least 1 upper case letter
"(?=.*[a-zA-Z])" + //any letter
"(?=.*[@#$%^&+=])" + //at least 1 special character
"(?=\\S+$)" + //no white spaces
".{8,}" + //at least 8 characters
"$");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_register);
// final String email;
registerFullName = (EditText) findViewById(R.id.registerFullName);
registerEmailAddress = (EditText) findViewById(R.id.registerEmailAddress);
registerPhoneNumber = findViewById(R.id.registerPhoneNumber);
registerPassword = (EditText) findViewById(R.id.registerPassword);
registerRePassword = findViewById(R.id.registerRePassword);
signUpCheckBox = findViewById(R.id.signUpCheckBox);
TextView back2Login = (TextView) findViewById(R.id.registerBack2Login);
ImageView registerBackBtn = (ImageView) findViewById(R.id.registerBackBtn);
RelativeLayout relativeLayout = findViewById(R.id.signUplayout);
relativeLayout.scheduleLayoutAnimation();
registerPassword.setTransformationMethod(new PasswordTransformationMethod());
registerRePassword.setTransformationMethod(new PasswordTransformationMethod());
// registerPassword.setTransformationMethod(new HideReturnsTransformationMethod());
// registerRePassword.setTransformationMethod(new HideReturnsTransformationMethod());
registerBackBtn.setOnClickListener(v -> {
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(intent);
finish();
});
back2Login.setOnClickListener(v -> {
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(intent);
finish();
});
}
private void Usersignup() {
String email = registerEmailAddress.getText().toString().trim();
String name = registerFullName.getText().toString().trim();
String password = registerPassword.getText().toString().trim();
if (registerFullName.getText().toString().trim().isEmpty()) {
registerFullName.setError("Username is required");
registerFullName.requestFocus();
return;
}else {
registerFullName.setError(null);
}
if (registerPhoneNumber.getText().toString().trim().isEmpty()) {
registerPhoneNumber.setError("Field Can't be Empty");
registerFullName.requestFocus();
return;
}else{
registerPhoneNumber.setError(null);
}
if (email.isEmpty()) {
registerEmailAddress.setError("Email is required");
registerEmailAddress.requestFocus();
return;
}else {
registerEmailAddress.setError(null);
}
if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
registerEmailAddress.setError("Invalid emailaddress");
registerEmailAddress.requestFocus();
return;
}
if (name.isEmpty()) {
registerFullName.setError("Name is required");
registerFullName.requestFocus();
return;
}else {
registerFullName.setError(null);
}
if (password.isEmpty()) {
registerPassword.setError("Enter the password");
registerPassword.requestFocus();
return;
}else if(!PASSWORD_PATTERN.matcher(password).matches()){
registerPassword.setError("Password should contain atleast 1 alphabet, 1 special character, 1 numeric value, and a total of 8 characters");
return;
} else {
registerPassword.setError(null);
}
if (registerRePassword.getText().toString().trim().isEmpty()) {
registerRePassword.setError("Field Can't be Empty");
registerRePassword.requestFocus();
return;
}
if (!registerRePassword.getText().toString().trim().equals(registerPassword.getText().toString().trim())) {
registerRePassword.setError("Password Don't match. Please Match Again");
registerRePassword.requestFocus();
return;
}else {
registerRePassword.setError(null);
}
FoodVybeAPI foodVybeAPI = ApiClient.getRetrofit().create(FoodVybeAPI.class);
foodVybeAPI.register(name, email, password).enqueue(new Callback<Userinfo>() {
@Override
public void onResponse(Call<Userinfo> call, Response<Userinfo> response) {
if (response.code()==404) {
Toast.makeText(RegisterActivity.this, "An error occurred try again later", Toast.LENGTH_LONG).show();
Log.e(TAG, "onResponse: Not Successfull" + response.errorBody() + response.code());
return;
// } else if (response.code()==400){
// Toast.makeText(RegisterActivity.this, "Already Registered", Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(RegisterActivity.this, "Woo! You are registered now Just Verify Email and login here", Toast.LENGTH_LONG).show();
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(intent);
finish();}
}
@Override
public void onFailure(Call<Userinfo> call, Throwable t) {
Toast.makeText(RegisterActivity.this,t.getLocalizedMessage(),Toast.LENGTH_SHORT);
Log.e(TAG, "onFailure: Failure" + t.getMessage());
}
});
}
public void registerSignUp(View view) {
if (!signUpCheckBox.isChecked()) {
Toast.makeText(this, "Please Accept Terms and Conditions", Toast.LENGTH_SHORT).show();
} else {
Usersignup();
}
}
}
Userinfo class:
public class Userinfo {
@SerializedName("userName")
@Expose
String userName;
@SerializedName("email")
@Expose
String email;
@SerializedName("password")
@Expose
String password;
public Userinfo(String name, String email, String password) {
name = userName;
this.email = email;
this.password = password;
}
public String getName() {
return userName;
}
public void setName(String name) {
this.userName = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Interface:
@FormUrlEncoded
@POST("user/login")
Call<User> login(@Field("email") String email, @Field("password") String password);
@FormUrlEncoded
@POST("user/register")
Call<Userinfo> register(
@Field("userName") String userName,
@Field("email") String email,
@Field("password") String password);
如果您想显示该用户已经存在。
只需像这样使用您的UserInfo
class:package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class UserInfo {
@SerializedName("userName")
@Expose
private String userName;
@SerializedName("email")
@Expose
private String email;
@SerializedName("password")
@Expose
private String password;
@SerializedName("error")
@Expose
private String error;
@SerializedName("message")
@Expose
private String message;
@SerializedName("status")
@Expose
private String status;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
现在,如果您收到 400 状态代码,请向他显示来自UserInfo
class cz 的error
和status
消息,现在您的UserInfo
class 持有状态、错误、消息信息,否则如果您收到 201 或 200 状态代码,则继续成功
if (response.code()==404) {
Toast.makeText(RegisterActivity.this, response.status.toString(), Toast.LENGTH_LONG).show();
Log.e(TAG, "onResponse: Not Successfull" + response.errorBody() + response.code());
return;
} else if (response.code()==400){
UserInfo userInfo = response.body();
Toast.makeText(RegisterActivity.this, userInfo.status.toString(), Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(RegisterActivity.this, "Woo! You are registered now Just Verify Email and login here", Toast.LENGTH_LONG).show();
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
startActivity(intent);
finish();}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.