From ec6e6b727fb29b79bf01a30f042e2f67b0656c43 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Thu, 22 Aug 2019 10:02:27 +0900 Subject: [PATCH] Reciever validation rule applied to all form widget --- .../main/assets/mockeddynamicvalidation.json | 2 +- .../customwidgets/GMETextInputLayout.java | 2 +- ...ecipientDetailValidatorFieldMappingV3.java | 5 +- .../RecipientAddV3ContractInterface.java | 122 +++++- .../RecipientDetailValidatorV3.java | 393 ++++++++++++++++- .../RecipientAddEditV3Activity.java | 396 ++++++++++++++++-- 6 files changed, 876 insertions(+), 44 deletions(-) diff --git a/app/src/main/assets/mockeddynamicvalidation.json b/app/src/main/assets/mockeddynamicvalidation.json index ebcb0e46..a40bbd05 100644 --- a/app/src/main/assets/mockeddynamicvalidation.json +++ b/app/src/main/assets/mockeddynamicvalidation.json @@ -126,7 +126,7 @@ "Keyboard": "ANS" }, { - "Field": "Bannk Name", + "Field": "Bank Name", "FieldRequired": "M", "MinLength": "1", "MaxLength": "50", diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GMETextInputLayout.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GMETextInputLayout.java index 3cefcfe8..bdf873a1 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GMETextInputLayout.java +++ b/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 diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java index 8a1c755b..94714b60 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/RecipientDetailValidatorFieldMappingV3.java +++ b/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"; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java index 7d0374f0..ed52fb4b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientAddV3ContractInterface.java +++ b/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); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java index c654f37b..50e2eae8 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientaddeditV3/RecipientDetailValidatorV3.java +++ b/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); + } + } } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java index 483c23ee..15e8d241 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientaddeditV3/RecipientAddEditV3Activity.java +++ b/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)