Browse Source

Register Existing User form validation with button click

new_design
Santosh Bhandary 3 years ago
parent
commit
37433c8c76
  1. 2
      app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterV2PresenterInterface.java
  2. 16
      app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterViewModel.java
  3. 14
      app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegistrationSubmitFragment.java
  4. 1
      app/src/main/res/layout/fragment_existing_customer_registration_submit.xml

2
app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterV2PresenterInterface.java

@ -33,6 +33,8 @@ public interface ExistingCustomerRegisterV2PresenterInterface extends BasePresen
boolean validateAllRequestForm(); boolean validateAllRequestForm();
boolean validateAllRegisterForm();
interface ExistingRegisterV2ContractInterface extends BaseContractInterface { interface ExistingRegisterV2ContractInterface extends BaseContractInterface {

16
app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/presenter/ExistingCustomerRegisterViewModel.java

@ -326,6 +326,22 @@ public class ExistingCustomerRegisterViewModel extends BaseViewModel implements
} }
} }
@Override
public boolean validateAllRegisterForm() {
if (
registerSubmitValidator.validateReferralCode(registerSubmitValidator.referralCode) &&
registerSubmitValidator.validateUserEmail(registerSubmitValidator.userEmailId) &&
registerSubmitValidator.validatePassword(registerSubmitValidator.password) &&
registerSubmitValidator.validateConfirmPassword(registerSubmitValidator.confirmPassword) &&
registerSubmitValidator.validatePin(registerSubmitValidator.pin) &&
registerSubmitValidator.validateConfirmPin(registerSubmitValidator.confirmPin)
) {
return true;
}
return false;
}
class ExistingCustomerRegisterationRequestValidator { class ExistingCustomerRegisterationRequestValidator {

14
app/src/main/java/com/swifttech/remit/jmecustomer/features/registerv2/existingcustomer/view/ExistingCustomerRegistrationSubmitFragment.java

@ -36,7 +36,7 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
TextInputEditText referralCodeEdTxt; TextInputEditText referralCodeEdTxt;
@BindView(R.id.edtUserEmail) @BindView(R.id.edtUserEmail)
TextInputEditText edtuserEmail;
TextInputEditText eddUserEmail;
@BindView(R.id.userId_TxtInputLayout) @BindView(R.id.userId_TxtInputLayout)
TextInputLayout userId_TxtInputLayout; TextInputLayout userId_TxtInputLayout;
@ -112,7 +112,7 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
existingCustomerRegistrationSubmitLiveData = viewModel.getExsitingCustomerRegisterationSubmitViewEvents(new ExistingCustomerRegistrationSubmitLiveData.ExistingCustomerRegistrationSubmitViewBindings( existingCustomerRegistrationSubmitLiveData = viewModel.getExsitingCustomerRegisterationSubmitViewEvents(new ExistingCustomerRegistrationSubmitLiveData.ExistingCustomerRegistrationSubmitViewBindings(
RxTextView.textChanges(referralCodeEdTxt).skipInitialValue(), RxTextView.textChanges(referralCodeEdTxt).skipInitialValue(),
RxTextView.textChanges(edtuserEmail).skipInitialValue(),
RxTextView.textChanges(eddUserEmail).skipInitialValue(),
RxTextView.textChanges(newPassword_edTxt).skipInitialValue(), RxTextView.textChanges(newPassword_edTxt).skipInitialValue(),
RxTextView.textChanges(confirmPassword_edTxt).skipInitialValue(), RxTextView.textChanges(confirmPassword_edTxt).skipInitialValue(),
RxTextView.textChanges(newPin_edTxt).skipInitialValue(), RxTextView.textChanges(newPin_edTxt).skipInitialValue(),
@ -130,7 +130,7 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
} }
private void onAllFieldValid(FormInputStateDTO formInputStateDTO) { private void onAllFieldValid(FormInputStateDTO formInputStateDTO) {
btn_submit.setEnabled(formInputStateDTO.isValid());
// btn_submit.setEnabled(formInputStateDTO.isValid());
} }
private void init() { private void init() {
@ -154,7 +154,7 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
if (state.isValid()) { if (state.isValid()) {
userId_TxtInputLayout.setError(null); userId_TxtInputLayout.setError(null);
if (state.hasData() && state.getData().length()>0) { if (state.hasData() && state.getData().length()>0) {
edtuserEmail.setText(state.getData());
eddUserEmail.setText(state.getData());
} }
} else } else
userId_TxtInputLayout.setError(state.getErrorMessage()); userId_TxtInputLayout.setError(state.getErrorMessage());
@ -206,12 +206,14 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
@OnClick(R.id.btn_submit) @OnClick(R.id.btn_submit)
public void proceedToRegistration() { public void proceedToRegistration() {
if(viewModel.validateAllRegisterForm()){
viewModel.proceedToRegistration(); viewModel.proceedToRegistration();
}
} }
public void clearFields() { public void clearFields() {
edtuserEmail.setText("");
eddUserEmail.setText("");
userId_TxtInputLayout.setError(null); userId_TxtInputLayout.setError(null);
newPassword_edTxt.setText(""); newPassword_edTxt.setText("");
@ -227,7 +229,7 @@ public class ExistingCustomerRegistrationSubmitFragment extends BaseFragment {
confirmPin_TxtInputLayout.setError(null); confirmPin_TxtInputLayout.setError(null);
subscribeToEvents(); subscribeToEvents();
btn_submit.setEnabled(false);
// btn_submit.setEnabled(false);
} }
} }

1
app/src/main/res/layout/fragment_existing_customer_registration_submit.xml

@ -146,6 +146,7 @@
<com.swifttech.remit.jmecustomer.common.customwidgets.GmeButton <com.swifttech.remit.jmecustomer.common.customwidgets.GmeButton
android:id="@+id/btn_submit" android:id="@+id/btn_submit"
style="@style/MButton" style="@style/MButton"
android:enabled="true"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginBottom="4dp" android:layout_marginBottom="4dp"
android:layout_marginTop="30dp" android:layout_marginTop="30dp"

Loading…
Cancel
Save