Androidアプリの登録フォームに取り組んでおり、ユーザーが登録ボタンをクリックしたときにsetError機能を使用してテキストフィールドを検証しようとしています。チェックを通過していますが、登録のためにフォームをサーバーに送信しています。ユーザーを登録するリクエストを送信する前に、すべてのフィールドが有効であることを確認します。私は何時間も解決策を探していましたが、何が間違っているのかわかりません。助けてください!
btnRegister.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String first_name = inputFirstName.getText().toString();
String last_name = inputLastName.getText().toString();
String email = inputEmail.getText().toString();
String dob = displaytxt.getText().toString();
String password = inputPassword.getText().toString();
UserFunctions userFunction = new UserFunctions();
JSONObject json = userFunction.registerUser(first_name, last_name, email, dob, password);
// check for login response
try {
if(inputFirstName.getText().toString().length() <= 0)
{
inputFirstName.setError("First name required!");
}
if (inputLastName.getText().toString().length() < 0)
{
inputLastName.setError("Last name required!");
}
if (inputEmail.getText().toString().length() == 0)
{
inputEmail.setError( "Valid email address required!" );
}
if (inputPassword.getText().toString().length() < 8)
{
inputPassword.setError( "Password required! (Minimum of 8 characters." );
}
if (!inputPassword2.getText().toString().equals(inputPassword.getText().toString()))
{
inputPassword.setError( "Passwords do not match! (Minimum of 8 characters.");
inputPassword2.setError("Passwords do not match! (Minimum of 8 characters.");
}
if (!checkBoxTerms.isChecked());
{
AlertDialog alertDialog = new AlertDialog.Builder(RegisterActivity.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("You must agree to the terms & conditions.");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
if (json.getString(KEY_SUCCESS) != null) {
registerErrorMsg.setText("");
String res = json.getString(KEY_SUCCESS);
if(Integer.parseInt(res) == 1){
// user successfully registred
// Store user details in SQLite Database
DatabaseHandler db = new DatabaseHandler(getApplicationContext());
JSONObject json_user = json.getJSONObject("user");
// Clear all previous data in database
userFunction.logoutUser(getApplicationContext());
db.addUser(json_user.getString(KEY_FIRST_NAME), json_user.getString(KEY_LAST_NAME), json_user.getString(KEY_EMAIL), json_user.getString(KEY_DOB), json.getString(KEY_UID), json_user.getString(KEY_CREATED_AT));
// Launch Dashboard Screen
Intent dashboard = new Intent(getApplicationContext(), MainActivity.class);
// Close all views before launching Dashboard
dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(dashboard);
// Close Registration Screen
finish();
}else{
// Error in registration
registerErrorMsg.setText("Error in registration! Please check the information entered.");
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});