Browse Source

Reciever validation rule applied to all form widget

master
Preyea Regmi 5 years ago
parent
commit
ec6e6b727f
  1. 2
      app/src/main/assets/mockeddynamicvalidation.json
  2. 2
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GMETextInputLayout.java
  3. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java
  4. 122
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java
  5. 393
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java
  6. 396
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java

2
app/src/main/assets/mockeddynamicvalidation.json

@ -126,7 +126,7 @@
"Keyboard": "ANS"
},
{
"Field": "Bannk Name",
"Field": "Bank Name",
"FieldRequired": "M",
"MinLength": "1",
"MaxLength": "50",

2
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GMETextInputLayout.java

@ -40,7 +40,7 @@ public class GMETextInputLayout extends TextInputLayout {
}
/**
* Setting same error on same TextInputLayout multiple times causes the the y-translation animation stop, which results
* Setting same error on same TextInputLayout multiple times causes the the y-translation animation to stop, which results in
* clipping like behaviour of error message
* Follow the issue tracker, until it is fixed by google in future release
* https://issuetracker.google.com/issues/116747167

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java

@ -47,11 +47,12 @@ public class RecipientDetailValidatorFieldMappingV3 {
public static final String FIELD_LAST_NAME_IN_LOCAL="Last Name in Local";
public static final String FIELD_LOCAL_NAME="Local Name";
public static final String FIELD_MOBILE_NUMBER="Mobile Number";
public static final String FIELD_PROVINCE_LOCAL="Province";
public static final String FIELD_DISTRICT_LOCAL="District";
public static final String FIELD_PROVINCE ="Province";
public static final String FIELD_DISTRICT ="District";
public static final String FIELD_CITY="City";
public static final String FIELD_ADDRESS="Address";
public static final String FIELD_REALATION_GROUP="Realation Group";
public static final String FIELD_TRANSFER_REASON="Transfer Reason";
public static final String FIELD_EMAIL="Email";
}

122
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java

@ -8,9 +8,10 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void registerTextWatchers(boolean action);
void updateValidationRuleToWidgetFullName(boolean visiblity, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration);
void updateValueToWidgetFullName(String name);
void setErrorOnWidgetFullName(String error);
void hideAllViewExceptCountry();
void hideAllFormInputFields();
void updateValueToWidgetSelectedCountry(String countryName);
@ -23,7 +24,118 @@ public interface RecipientAddV3ContractInterface extends BaseContractInterface
void updateValidationRuleToWidgetPaymentMethodSelection(boolean visiblity);
void hideAllViewExceptCountry();
void hideAllFormInputFields();
void updateValueToWidgetBankName(String value);
void updateValueToWidgetBranchName(String value);
void updateValueToWidgetAccountNo(String value);
void updateValueToWidgetIDType(String value);
void updateValueToWidgetIDNumber(String value);
void updateValueToWidgetFirstName(String value);
void updateValueToWidgetMiddleName(String value);
void updateValueToWidgetLastName(String value);
void updateValueToWidgetFullName(String value);
void updateValueToWidgetLocalFirstName(String value);
void updateValueToWidgetLocalMiddleName(String value);
void updateValueToWidgetLocalLastName(String value);
void updateValueToWidgetLocalFullName(String name);
void updateValueToWidgetMobileNumber(String value);
void updateValueToWidgetProvince(String value);
void updateValueToWidgetDistrict(String value);
void updateValueToWidgetCity(String value);
void updateValueToWidgetAddress(String value);
void updateValueToWidgetRelation(String value);
void updateValueToWidgetTransferReason(String value);
void updateValidationRuleToWidgetBankName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetBranchName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetAccountNo(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetIDType(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetIDNumber(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetFirstName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetMiddleName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLastName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetFullName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFirstName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalMiddleName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalLastName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetLocalFullName(boolean visiblity, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration);
void updateValidationRuleToWidgetMobileNumber(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetProvince(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetDistrict(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetCity(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetAddress(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetRelation(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void updateValidationRuleToWidgetTransferReason(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration keyboardTypeFromKeyword);
void setErrorOnWidgetAccountNo(String error);
void setErrorOnWidgetFirstName(String error);
void setErrorOnWidgetMiddleName(String error);
void setErrorOnWidgetLastName(String error);
void setErrorOnWidgetFullName(String error);
void setErrorOnWidgetCity(String error);
void setErrorOnWidgetAddress(String error);
void setErrorOnWidgetMobileNumber(String error);
void setErrorOnWidgetEmail(String error);
void setErrorOnWidgetIDNumber(String error);
void setErrorOnWidgetLocalFirstName(String error);
void setErrorOnWidgetLocalMiddleName(String error);
void setErrorOnWidgetLocalLastName(String error);
}

393
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java

@ -31,24 +31,215 @@ public class RecipientDetailValidatorV3 {
}
/**
* Apply validation to corresponding widget
* If Business requirement to override existing data, do it here before updating the corresponding view
* @param rule
*/
public void applyDynamicValidationRuleToView(ValidationRuleModel rule) {
if (rule == null)
throw new IllegalArgumentException("Validation rule cannot be null");
switch (rule.getField()) {
case FIELD_LOCAL_NAME:
//TODO Add Respective add when avialable in reciever info
case FIELD_BANK_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetBankName("");
view.updateValidationRuleToWidgetBankName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_BANK_NAME,rule);
break;
case FIELD_BRANCH_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetBranchName("");
view.updateValidationRuleToWidgetBranchName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_BRANCH_NAME,rule);
break;
case FIELD_ACCOUNT_NO:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetAccountNo("");
view.updateValidationRuleToWidgetAccountNo(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_ACCOUNT_NO,rule);
break;
case FIELD_ID_TYPE:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetIDType("");
view.updateValidationRuleToWidgetIDType(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_ID_TYPE,rule);
break;
case FIELD_ID_NUMBER:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetIDNumber("");
view.updateValidationRuleToWidgetIDNumber(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_ID_NUMBER,rule);
break;
case FIELD_FIRST_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetFirstName("");
view.updateValidationRuleToWidgetFirstName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_FIRST_NAME,rule);
break;
case FIELD_MIDDLE_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetMiddleName("");
view.updateValidationRuleToWidgetMiddleName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_MIDDLE_NAME,rule);
break;
case FIELD_LAST_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetLastName("");
view.updateValidationRuleToWidgetLastName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_LAST_NAME,rule);
break;
case FIELD_FULL_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetFullName("");
view.updateValidationRuleToWidgetFullName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_FULL_NAME,rule);
break;
case FIELD_FIRST_NAME_IN_LOCAL:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetLocalFirstName("");
view.updateValidationRuleToWidgetLocalFirstName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_FIRST_NAME_IN_LOCAL,rule);
break;
case FIELD_MIDDLE_NAME_IN_LOCAL:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetLocalMiddleName("");
view.updateValidationRuleToWidgetLocalMiddleName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_MIDDLE_NAME_IN_LOCAL,rule);
break;
case FIELD_LAST_NAME_IN_LOCAL:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetLocalLastName("");
view.updateValidationRuleToWidgetLocalLastName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_LAST_NAME_IN_LOCAL,rule);
break;
case FIELD_LOCAL_NAME:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetLocalFullName("");
view.updateValidationRuleToWidgetLocalFullName(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_LOCAL_NAME,rule);
break;
case FIELD_MOBILE_NUMBER:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetMobileNumber("");
view.updateValidationRuleToWidgetMobileNumber(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_MOBILE_NUMBER,rule);
break;
case FIELD_PROVINCE:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetProvince("");
view.updateValidationRuleToWidgetProvince(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_PROVINCE,rule);
break;
case FIELD_DISTRICT:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetDistrict("");
view.updateValidationRuleToWidgetDistrict(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_DISTRICT,rule);
break;
case FIELD_CITY:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetCity("");
view.updateValidationRuleToWidgetCity(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_CITY,rule);
break;
case FIELD_ADDRESS:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetAddress("");
view.updateValidationRuleToWidgetAddress(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_ADDRESS,rule);
break;
case FIELD_REALATION_GROUP:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetRelation("");
view.updateValidationRuleToWidgetRelation(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_REALATION_GROUP,rule);
break;
case FIELD_TRANSFER_REASON:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetTransferReason("");
view.updateValidationRuleToWidgetTransferReason(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_TRANSFER_REASON,rule);
break;
case FIELD_EMAIL:
//TODO Add Respective value when avialable in reciever info
view.updateValueToWidgetTransferReason("");
view.updateValidationRuleToWidgetTransferReason(rule.isFieldRequired(),
EditTextConfigurationFactory.getKeyboardTypeFromKeyword(rule.getKeyboardType(),rule.isLocalKeyboardAllowed(),
rule.getMaxFieldLengthInt()));
validationRuleModelMap.put(FIELD_EMAIL,rule);
break;
}
}
public void validateLocalName(String fullName)
{
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_LOCAL_NAME);
@ -77,53 +268,241 @@ public class RecipientDetailValidatorV3 {
}
/**
*
public static final String FIELD_BANK_NAME="Bank Name";
public static final String FIELD_BRANCH_NAME="Branch Name";
public static final String FIELD_ACCOUNT_NO="Account No.";
public static final String FIELD_ID_TYPE="Id Type";
public static final String FIELD_ID_NUMBER="ID Number";
public static final String FIELD_FIRST_NAME="First Name";
public static final String FIELD_MIDDLE_NAME="Middle Name";
public static final String FIELD_LAST_NAME="Last Name";
public static final String FIELD_FULL_NAME="Full Name";
public static final String FIELD_FIRST_NAME_IN_LOCAL="First Name in Local";
public static final String FIELD_MIDDLE_NAME_IN_LOCAL="Middle Name in Local";
public static final String FIELD_LAST_NAME_IN_LOCAL="Last Name in Local";
public static final String FIELD_LOCAL_NAME="Local Name";
public static final String FIELD_MOBILE_NUMBER="Mobile Number";
public static final String FIELD_PROVINCE="Province";
public static final String FIELD_DISTRICT="District";
public static final String FIELD_CITY="City";
public static final String FIELD_ADDRESS="Address";
public static final String FIELD_REALATION_GROUP="Realation Group";
public static final String FIELD_TRANSFER_REASON="Transfer Reason";
*/
public void validateAccountNo(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_ACCOUNT_NO);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetAccountNo(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetAccountNo(error);
}
}
}
public void validateFirstName(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_ACCOUNT_NO);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetFirstName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetFirstName(error);
}
}
}
public void validateMiddleName(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_MIDDLE_NAME);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetMiddleName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetMiddleName(error);
}
}
}
public void validateLastName(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_LAST_NAME);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetLastName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetLastName(error);
}
}
}
public void validateCity(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_CITY);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetCity(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetCity(error);
}
}
}
public void validateAddress(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_ADDRESS);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetAddress(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetAddress(error);
}
}
}
public void validateMobileNumber(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_MOBILE_NUMBER);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetMobileNumber(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetMobileNumber(error);
}
}
}
public void validateEmail(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_EMAIL);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetEmail(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetEmail(error);
}
}
}
public void validateIdNumber(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_ID_NUMBER);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetIDNumber(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetIDNumber(error);
}
}
}
public void validateFirstNameLocal(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_FIRST_NAME_IN_LOCAL);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetLocalFirstName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetLocalFirstName(error);
}
}
}
public void validateMiddleNameLocal(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_MIDDLE_NAME_IN_LOCAL);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetLocalMiddleName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetLocalMiddleName(error);
}
}
}
public void validateLastNameLocal(String text) {
ValidationRuleModel validationRuleModel=validationRuleModelMap.get(FIELD_LAST_NAME_IN_LOCAL);
if(validationRuleModel!=null) {
String error=validationRuleModel.validateValueAndReturnErrorMessageOnFail(text);
if(error==null) {
recipientInfo.setName(text);
view.setErrorOnWidgetLocalLastName(null);
validateAll();
}
else {
//TODO update recipientInfo if required
recipientInfo.setName("");
view.setErrorOnWidgetLocalLastName(error);
}
}
}
}

396
app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java

@ -2,6 +2,7 @@ package com.gmeremit.online.gmeremittance_native.recipientV3.view.recipientadded
import android.os.Bundle;
import android.support.transition.TransitionManager;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@ -299,32 +300,10 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
}
@Override
public void updateValidationRuleToWidgetFullName(boolean showWidget, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalFullNameFormInputField.getEditText());
if (showWidget) {
recieverLocalFullNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLocalFullNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValueToWidgetFullName(String name) {
recieverLocalFullNameFormInputField.removeTextWatchers(recieverLocalFullNameTextWatcher);
recieverLocalFullNameFormInputField.getEditTextView().setText(name);
recieverLocalFullNameFormInputField.addTextWatchers(recieverLocalFullNameTextWatcher);
}
@Override
public void setErrorOnWidgetFullName(String error) {
recieverLocalFullNameFormInputField.updateErrorSafely(error);
}
@Override
public void updateValueToWidgetSelectedCountry(String countryName) {
recieverCountrySelectionFormInputField.getEditTextView().setText(countryName);
}
@Override
public void showSelectedCountryFlag(int id) {
@ -339,12 +318,6 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
}
@Override
public void updateValueToWidgetSelectedPaymentMethod(String description) {
recieverPaymentMethodSelectionFormInputField.getEditTextView().setText(description);
}
@Override
public void updateValidationRuleToWidgetCountrySelection(boolean visiblity) {
if (visiblity)
@ -373,6 +346,373 @@ public class RecipientAddEditV3Activity extends BaseActivity implements Recipien
hideViewFromIndexId(1);
}
@Override
public void updateValueToWidgetSelectedPaymentMethod(String description) {
Log.d(this.getClass().getSimpleName(),"Selected method type: "+description);
recieverPaymentMethodSelectionFormInputField.getEditTextView().setText(description);
}
@Override
public void updateValueToWidgetSelectedCountry(String countryName) {
recieverCountrySelectionFormInputField.getEditTextView().setText(countryName);
}
@Override
public void updateValueToWidgetBankName(String value) {
recieverBankSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetBranchName(String value) {
recieverBranchSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetAccountNo(String value) {
recieverAccountNoFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetIDType(String value) {
recieverIDTypeSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetIDNumber(String value) {
recieverIdNumberFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetFirstName(String value) {
recieverFirstNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetMiddleName(String value) {
recieverMiddleNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetLastName(String value) {
recieverLastNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetFullName(String value) {
recieverFullNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetLocalFirstName(String value) {
recieverLocalFirstNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetLocalMiddleName(String value) {
recieverLocalMiddleNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetLocalLastName(String value) {
recieverLocalLastNameFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetLocalFullName(String name) {
// recieverLocalFullNameFormInputField.removeTextWatchers(recieverLocalFullNameTextWatcher);
recieverLocalFullNameFormInputField.getEditTextView().setText(name);
// recieverLocalFullNameFormInputField.addTextWatchers(recieverLocalFullNameTextWatcher);
}
@Override
public void updateValueToWidgetMobileNumber(String value) {
recieverMobileNoFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetProvince(String value) {
recieverStateSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetDistrict(String value) {
recieverDistrictSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetCity(String value) {
recieverCityFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetAddress(String value) {
recieverAddressFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetRelation(String value) {
recieverRelationSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValueToWidgetTransferReason(String value) {
recieverTransferReasonSelectionFormInputField.getEditTextView().setText(value);
}
@Override
public void updateValidationRuleToWidgetLocalFullName(boolean showWidget, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalFullNameFormInputField.getEditText());
if (showWidget) {
recieverLocalFullNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLocalFullNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetBankName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverBankSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverBankViewContainer.setVisibility(View.VISIBLE);
} else
receiverBankViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetBranchName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverBranchSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverBranchViewContainer.setVisibility(View.VISIBLE);
} else
receiverBranchViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetAccountNo(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverAccountNoFormInputField.getEditTextView());
if (fieldRequired) {
recieverAccountNoFormInputField.setVisibility(View.VISIBLE);
} else
recieverAccountNoFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetIDType(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverIDTypeSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverIDTypeViewContainer.setVisibility(View.VISIBLE);
} else
receiverIDTypeViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetIDNumber(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverIdNumberFormInputField.getEditTextView());
if (fieldRequired) {
recieverIdNumberFormInputField.setVisibility(View.VISIBLE);
} else
recieverIdNumberFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetFirstName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverFirstNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverFirstNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverFirstNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetMiddleName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverMiddleNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverMiddleNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverMiddleNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetLastName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLastNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverLastNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLastNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetFullName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverFullNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverFullNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverFullNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetLocalFirstName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalFirstNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverLocalFirstNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLocalFirstNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetLocalMiddleName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalMiddleNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverLocalMiddleNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLocalMiddleNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetLocalLastName(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverLocalLastNameFormInputField.getEditTextView());
if (fieldRequired) {
recieverLocalLastNameFormInputField.setVisibility(View.VISIBLE);
} else
recieverLocalLastNameFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetMobileNumber(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverMobileNoFormInputField.getEditTextView());
if (fieldRequired) {
recieverMobileNoFormInputField.setVisibility(View.VISIBLE);
} else
recieverMobileNoFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetProvince(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverStateSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverStateViewContainer.setVisibility(View.VISIBLE);
} else
receiverStateViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetDistrict(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverDistrictSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverDistrictViewContainer.setVisibility(View.VISIBLE);
} else
receiverDistrictViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetCity(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverCityFormInputField.getEditTextView());
if (fieldRequired) {
recieverCityFormInputField.setVisibility(View.VISIBLE);
} else
recieverCityFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetAddress(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverAddressFormInputField.getEditTextView());
if (fieldRequired) {
recieverAddressFormInputField.setVisibility(View.VISIBLE);
} else
recieverAddressFormInputField.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetRelation(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverRelationSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverRelationViewContainer.setVisibility(View.VISIBLE);
} else
receiverRelationViewContainer.setVisibility(GONE);
}
@Override
public void updateValidationRuleToWidgetTransferReason(Boolean fieldRequired, EditTextConfigurationFactory.EditTextConfiguration editTextConfiguration) {
editTextConfiguration.applyConfigurationSetting(recieverTransferReasonSelectionFormInputField.getEditTextView());
if (fieldRequired) {
receiverTransferReasonViewContainer.setVisibility(View.VISIBLE);
} else
receiverTransferReasonViewContainer.setVisibility(GONE);
}
@Override
public void setErrorOnWidgetAccountNo(String error) {
recieverAccountNoFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetFirstName(String error) {
recieverFirstNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetMiddleName(String error) {
recieverMiddleNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetLastName(String error) {
recieverLastNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetFullName(String error) {
recieverLocalFullNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetCity(String error) {
recieverCityFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetAddress(String error) {
recieverAddressFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetMobileNumber(String error) {
recieverMobileNoFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetEmail(String error) {
recieverEmailFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetIDNumber(String error) {
recieverIdNumberFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetLocalFirstName(String error) {
recieverLocalFirstNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetLocalMiddleName(String error) {
recieverLocalMiddleNameFormInputField.updateErrorSafely(error);
}
@Override
public void setErrorOnWidgetLocalLastName(String error) {
recieverLocalLastNameFormInputField.updateErrorSafely(error);
}
private void hideViewFromIndexId(int indexId)
{
if(indexId<0)

Loading…
Cancel
Save