@sbcore/ng-absolute-validator 14.0.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/directive/error-trigger/error-trigger-on.directive.mjs +5 -5
- package/esm2020/lib/ng-absolute-validator.module.mjs +6 -8
- package/esm2020/lib/rule/above/above.directive.mjs +6 -6
- package/esm2020/lib/rule/accepted/accepted.directive.mjs +6 -6
- package/esm2020/lib/rule/after/after.directive.mjs +6 -6
- package/esm2020/lib/rule/alpha/alpha.directive.mjs +6 -6
- package/esm2020/lib/rule/alpha_dash/alpha-dash.directive.mjs +6 -6
- package/esm2020/lib/rule/alpha_numeric/alpha-numeric.directive.mjs +6 -6
- package/esm2020/lib/rule/array/array.directive.mjs +6 -6
- package/esm2020/lib/rule/before/before.directive.mjs +6 -6
- package/esm2020/lib/rule/between/between.directive.mjs +6 -6
- package/esm2020/lib/rule/boolean/boolean.directive.mjs +6 -6
- package/esm2020/lib/rule/confirmed/confirmed.directive.mjs +6 -6
- package/esm2020/lib/rule/credit_card/credit-card.directive.mjs +6 -6
- package/esm2020/lib/rule/cvv/cvv.directive.mjs +6 -6
- package/esm2020/lib/rule/date/date.directive.mjs +6 -6
- package/esm2020/lib/rule/date_format/date-format.directive.mjs +6 -6
- package/esm2020/lib/rule/debit_card/debit-card.directive.mjs +6 -6
- package/esm2020/lib/rule/different/different.directive.mjs +6 -6
- package/esm2020/lib/rule/dimension/dimension.directive.mjs +6 -6
- package/esm2020/lib/rule/email/email.directive.mjs +6 -6
- package/esm2020/lib/rule/ends_with/ends-with.directive.mjs +6 -6
- package/esm2020/lib/rule/equals/equals.directive.mjs +6 -6
- package/esm2020/lib/rule/exists/exists.directive.mjs +6 -6
- package/esm2020/lib/rule/image/image.directive.mjs +7 -7
- package/esm2020/lib/rule/in/in.directive.mjs +6 -6
- package/esm2020/lib/rule/includes/includes.directive.mjs +6 -6
- package/esm2020/lib/rule/integer/integer.directive.mjs +6 -6
- package/esm2020/lib/rule/ip/ip.directive.mjs +6 -6
- package/esm2020/lib/rule/ipv4/ipv4.directive.mjs +6 -6
- package/esm2020/lib/rule/ipv6/ipv6.directive.mjs +6 -6
- package/esm2020/lib/rule/json/json.directive.mjs +6 -6
- package/esm2020/lib/rule/max/max.directive.mjs +6 -6
- package/esm2020/lib/rule/mimes/mimes.directive.mjs +6 -6
- package/esm2020/lib/rule/min/min.directive.mjs +6 -6
- package/esm2020/lib/rule/not_equals/not-equals.directive.mjs +7 -7
- package/esm2020/lib/rule/not_in/not-in.directive.mjs +6 -6
- package/esm2020/lib/rule/not_regex/not-regex.directive.mjs +6 -6
- package/esm2020/lib/rule/number/number.directive.mjs +6 -6
- package/esm2020/lib/rule/phone_no/phone-no.directive.mjs +7 -7
- package/esm2020/lib/rule/range/range.directive.mjs +6 -6
- package/esm2020/lib/rule/regex/regex.directive.mjs +6 -6
- package/esm2020/lib/rule/required/required.directive.mjs +6 -6
- package/esm2020/lib/rule/required_if/required-if.directive.mjs +6 -6
- package/esm2020/lib/rule/required_unless/required-unless.directive.mjs +6 -6
- package/esm2020/lib/rule/required_with/required-with.directive.mjs +6 -6
- package/esm2020/lib/rule/required_with_all/required-with-all.directive.mjs +6 -6
- package/esm2020/lib/rule/required_without/required-without.directive.mjs +6 -6
- package/esm2020/lib/rule/required_without_all/required-without-all.directive.mjs +6 -6
- package/esm2020/lib/rule/rule.directive.mjs +6 -6
- package/esm2020/lib/rule/rule.module.mjs +76 -111
- package/esm2020/lib/rule/same/same.directive.mjs +6 -6
- package/esm2020/lib/rule/size/size.directive.mjs +6 -6
- package/esm2020/lib/rule/starts_with/starts-with.directive.mjs +6 -6
- package/esm2020/lib/rule/strength/strength.directive.mjs +6 -6
- package/esm2020/lib/rule/string/string.directive.mjs +6 -6
- package/esm2020/lib/rule/under/under.directive.mjs +6 -6
- package/esm2020/lib/rule/unique/unique.directive.mjs +6 -6
- package/esm2020/lib/rule/url/url.directive.mjs +6 -6
- package/esm2020/lib/rule/uuid/uuid.directive.mjs +6 -6
- package/esm2020/lib/rule/video/video.directive.mjs +6 -6
- package/fesm2015/sbcore-ng-absolute-validator.mjs +349 -386
- package/fesm2015/sbcore-ng-absolute-validator.mjs.map +1 -1
- package/fesm2020/sbcore-ng-absolute-validator.mjs +347 -384
- package/fesm2020/sbcore-ng-absolute-validator.mjs.map +1 -1
- package/lib/common.utils.d.ts +8 -0
- package/lib/config-interface.d.ts +15 -0
- package/lib/constant.d.ts +61 -0
- package/lib/directive/error-trigger/error-trigger-on.directive.d.ts +3 -3
- package/lib/interface.d.ts +143 -0
- package/lib/ng-absolute-validator.component.d.ts +77 -0
- package/lib/ng-absolute-validator.module.d.ts +1 -1
- package/lib/ng-absolute-validator.service.d.ts +45 -0
- package/lib/rule/above/above.directive.d.ts +3 -3
- package/lib/rule/accepted/accepted.directive.d.ts +3 -3
- package/lib/rule/after/after.directive.d.ts +3 -3
- package/lib/rule/alpha/alpha.directive.d.ts +3 -3
- package/lib/rule/alpha_dash/alpha-dash.directive.d.ts +3 -3
- package/lib/rule/alpha_numeric/alpha-numeric.directive.d.ts +3 -3
- package/lib/rule/array/array.directive.d.ts +3 -3
- package/lib/rule/before/before.directive.d.ts +3 -3
- package/lib/rule/between/between.directive.d.ts +3 -3
- package/lib/rule/boolean/boolean.directive.d.ts +3 -3
- package/lib/rule/confirmed/confirmed.directive.d.ts +3 -3
- package/lib/rule/credit_card/credit-card.directive.d.ts +3 -3
- package/lib/rule/cvv/cvv.directive.d.ts +3 -3
- package/lib/rule/date/date.directive.d.ts +3 -3
- package/lib/rule/date_format/date-format.directive.d.ts +3 -3
- package/lib/rule/debit_card/debit-card.directive.d.ts +3 -3
- package/lib/rule/different/different.directive.d.ts +3 -3
- package/lib/rule/dimension/dimension.directive.d.ts +3 -3
- package/lib/rule/email/email.directive.d.ts +3 -3
- package/lib/rule/ends_with/ends-with.directive.d.ts +3 -3
- package/lib/rule/equals/equals.directive.d.ts +3 -3
- package/lib/rule/exists/exists.directive.d.ts +3 -3
- package/lib/rule/image/image.directive.d.ts +3 -3
- package/lib/rule/in/in.directive.d.ts +3 -3
- package/lib/rule/includes/includes.directive.d.ts +3 -3
- package/lib/rule/integer/integer.directive.d.ts +3 -3
- package/lib/rule/ip/ip.directive.d.ts +3 -3
- package/lib/rule/ipv4/ipv4.directive.d.ts +3 -3
- package/lib/rule/ipv6/ipv6.directive.d.ts +3 -3
- package/lib/rule/json/json.directive.d.ts +3 -3
- package/lib/rule/max/max.directive.d.ts +3 -3
- package/lib/rule/mimes/mimes.directive.d.ts +3 -3
- package/lib/rule/min/min.directive.d.ts +3 -3
- package/lib/rule/not_equals/not-equals.directive.d.ts +3 -3
- package/lib/rule/not_in/not-in.directive.d.ts +3 -3
- package/lib/rule/not_regex/not-regex.directive.d.ts +3 -3
- package/lib/rule/number/number.directive.d.ts +3 -3
- package/lib/rule/phone_no/phone-no.directive.d.ts +3 -3
- package/lib/rule/range/range.directive.d.ts +3 -3
- package/lib/rule/regex/regex.directive.d.ts +3 -3
- package/lib/rule/required/required.directive.d.ts +3 -3
- package/lib/rule/required_if/required-if.directive.d.ts +3 -3
- package/lib/rule/required_unless/required-unless.directive.d.ts +3 -3
- package/lib/rule/required_with/required-with.directive.d.ts +3 -3
- package/lib/rule/required_with_all/required-with-all.directive.d.ts +3 -3
- package/lib/rule/required_without/required-without.directive.d.ts +3 -3
- package/lib/rule/required_without_all/required-without-all.directive.d.ts +3 -3
- package/lib/rule/rule.directive.d.ts +17 -0
- package/lib/rule/rule.module.d.ts +1 -1
- package/lib/rule/same/same.directive.d.ts +3 -3
- package/lib/rule/size/size.directive.d.ts +3 -3
- package/lib/rule/starts_with/starts-with.directive.d.ts +3 -3
- package/lib/rule/strength/strength.directive.d.ts +3 -3
- package/lib/rule/string/string.directive.d.ts +3 -3
- package/lib/rule/under/under.directive.d.ts +3 -3
- package/lib/rule/unique/unique.directive.d.ts +3 -3
- package/lib/rule/url/url.directive.d.ts +3 -3
- package/lib/rule/uuid/uuid.directive.d.ts +3 -3
- package/lib/rule/video/video.directive.d.ts +3 -3
- package/lib/services/http.request.service.d.ts +11 -0
- package/lib/services/messages-builder.service.d.ts +9 -0
- package/lib/services/utils.service.d.ts +81 -0
- package/lib/services/validate-rule.service.d.ts +17 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbcore-ng-absolute-validator.mjs","sources":["../../../projects/ng-absolute-validator/src/lib/config-interface.ts","../../../projects/ng-absolute-validator/src/lib/constant.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.service.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.component.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.component.html","../../../projects/ng-absolute-validator/src/lib/common.utils.ts","../../../projects/ng-absolute-validator/src/lib/services/messages-builder.service.ts","../../../projects/ng-absolute-validator/src/lib/services/http.request.service.ts","../../../projects/ng-absolute-validator/src/lib/services/utils.service.ts","../../../projects/ng-absolute-validator/src/lib/services/validate-rule.service.ts","../../../projects/ng-absolute-validator/src/lib/rule/rule.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/above/above.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/accepted/accepted.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/after/after.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha/alpha.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha_numeric/alpha-numeric.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/array/array.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/before/before.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/boolean/boolean.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/confirmed/confirmed.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/date/date.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/date_format/date-format.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/different/different.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/email/email.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ends_with/ends-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/equals/equals.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/in/in.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/includes/includes.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/integer/integer.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ip/ip.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ipv4/ipv4.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ipv6/ipv6.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/json/json.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/max/max.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/min/min.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_equals/not-equals.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_in/not-in.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/number/number.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/range/range.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/between/between.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/regex/regex.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/same/same.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/starts_with/starts-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/string/string.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/under/under.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/url/url.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha_dash/alpha-dash.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_regex/not-regex.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/uuid/uuid.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/unique/unique.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/credit_card/credit-card.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/debit_card/debit-card.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/cvv/cvv.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/strength/strength.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/phone_no/phone-no.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required/required.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_if/required-if.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_unless/required-unless.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_with/required-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_with_all/required-with-all.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_without/required-without.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_without_all/required-without-all.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/mimes/mimes.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/size/size.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/dimension/dimension.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/image/image.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/video/video.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/exists/exists.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/rule.module.ts","../../../projects/ng-absolute-validator/src/lib/services/reactive.validate.ts","../../../projects/ng-absolute-validator/src/lib/directive/native-element/native-element.directive.ts","../../../projects/ng-absolute-validator/src/i18n/en.ts","../../../projects/ng-absolute-validator/src/i18n/de.ts","../../../projects/ng-absolute-validator/src/i18n/es.ts","../../../projects/ng-absolute-validator/src/i18n/fr.ts","../../../projects/ng-absolute-validator/src/i18n/hi.ts","../../../projects/ng-absolute-validator/src/i18n/bn.ts","../../../projects/ng-absolute-validator/src/i18n/pt.ts","../../../projects/ng-absolute-validator/src/i18n/ja.ts","../../../projects/ng-absolute-validator/src/i18n/zh.ts","../../../projects/ng-absolute-validator/src/i18n/ru.ts","../../../projects/ng-absolute-validator/src/lib/transator.loader.ts","../../../projects/ng-absolute-validator/src/lib/directive/error-trigger/error-trigger-on.directive.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.module.ts","../../../projects/ng-absolute-validator/src/lib/interface.ts","../../../projects/ng-absolute-validator/src/public-api.ts","../../../projects/ng-absolute-validator/src/sbcore-ng-absolute-validator.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ErrorTriggerState, LocalizedMessageGroup, StrengthColor, StrengthLevel } from './interface';\r\n\r\nexport interface ConfigInterface {\r\n remoteLoader? : boolean\r\n delayLoader? : number\r\n strengthBar? : boolean\r\n strengthColor? : StrengthColor[]\r\n strengthLevel? : StrengthLevel[],\r\n translations? : LocalizedMessageGroup;\r\n replaceTranslations?: LocalizedMessageGroup;\r\n defaultLanguage? : string;\r\n supportedLanguages? : string[];\r\n showErrorOn? : ErrorTriggerState;\r\n}\r\n\r\nexport const LIB_CONFIG = new InjectionToken<ConfigInterface>('LIB_CONFIG');\r\n","export const GlobalConstant = {\r\n\r\n customObjectName: 'ng_abs',\r\n customRulesName: 'validators',\r\n customElementName: 'nativeElement',\r\n customFieldName: 'field_name',\r\n\r\n approvedLanguage: [\r\n 'en', 'ar'\r\n ],\r\n\r\n fileDependentRules: [\r\n 'image', 'video', 'mimes', 'size'\r\n ],\r\n\r\n fieldDependentRules: [\r\n 'same', 'confirmed', 'different', 'required_if', 'required_unless', 'required_with', 'required_with_all',\r\n 'required_without', 'required_without_all'\r\n ],\r\n\r\n filedOnlyDependentRules: [\r\n 'required_if', 'required_unless', 'required_with', 'required_with_all', 'required_without', 'required_without_all'\r\n ],\r\n\r\n fieldDefaultNameRule: [\r\n 'required_without', 'required_without_all'\r\n ],\r\n\r\n asyncRules: [\r\n 'unique', 'exists', 'dimension'\r\n ],\r\n\r\n emitMethods: [\r\n 'credit_card', 'debit_card', 'strength'\r\n ],\r\n\r\n /****\r\n * Credit Card Issuer with Regex Expression\r\n ****/\r\n\r\n credit_card: [\r\n { name: 'American Express', id: 'AMEX', regex: '^3[47]' },\r\n { name: 'Discover', id: 'DISCOVER', regex: '^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)' },\r\n { name: 'JCB', id: 'JCB', regex: '^(?:2131|1800|35\\d{3})\\d{11}$' },\r\n { name: 'MasterCard', id: 'MASTER_CARD', regex: '^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$' },\r\n { name: 'Diners', id: 'DINERS', regex: '^36' },\r\n { name: 'Diners - Carte Blanche', id: 'DINERS_CARTE_BLANCHE', regex: '^30[0-5]' },\r\n { name: 'Visa Electron', id: 'VISA_ELECTRON', regex: '^(4026|417500|4508|4844|491(3|7))' },\r\n { name: 'Visa', id: 'VISA', regex: '^4[0-9]{12}(?:[0-9]{3})?$' },\r\n ],\r\n\r\n /****\r\n * Debit Card Issuer with Regex Expression\r\n ****/\r\n\r\n debit_card: [\r\n { name: 'American Express', id: 'AMEX', regex: '^3[47]' },\r\n { name: 'Discover', id: 'DISCOVER', regex: '^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)' },\r\n { name: 'JCB', id: 'JCB', regex: '^(?:2131|1800|35\\d{3})\\d{11}$' },\r\n { name: 'MasterCard', id: 'MASTER_CARD', regex: '^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$' },\r\n { name: 'Diners', id: 'DINERS', regex: '^36' },\r\n { name: 'Diners - Carte Blanche', id: 'DINERS_CARTE_BLANCHE', regex: '^30[0-5]' },\r\n { name: 'Visa Electron', id: 'VISA_ELECTRON', regex: '^(4026|417500|4508|4844|491(3|7))' },\r\n { name: 'Visa', id: 'VISA', regex: '^4[0-9]{12}(?:[0-9]{3})?$' },\r\n ],\r\n\r\n /****\r\n * String strength validation with Regex Expression\r\n ****/\r\n\r\n strength_default_color: '#6c757d',\r\n\r\n strength_level: [\r\n { id: 'a', description: 'String is of length 8.', regex: '.{8}' },\r\n { id: 'b', description: 'String has one uppercase letters.', regex: '(?=.*[A-Z])' },\r\n { id: 'c', description: 'String has one special case letter.', regex: '(?=.*[!@#$&*])' },\r\n { id: 'd', description: 'String has one digits.', regex: '(?=.*[0-9])' },\r\n { id: 'e', description: 'String has one lowercase letters.', regex: '(?=.*[a-z])' },\r\n ],\r\n\r\n strength_color: [\r\n { max: 25, color: '#d9534f' },\r\n { min: 26, max: 50, color: '#f0ad4e' },\r\n { min: 51, max: 75, color: '#5bc0de' },\r\n { min: 76, color: '#5cb85c' }\r\n ]\r\n}\r\n\r\nexport const CUSTOM_OBJECT_NAME ='ng_abs';\r\n\r\nexport const DEFAULT_STRENGTH_COLOR = '#6c757d'\r\n\r\nexport const DEFAULT_DATE_FORMAT = 'dd-MM-yyyy'\r\nexport const DEFAULT_LOCALE_LANG = 'en'\r\nexport const SUPPORTED_LOCALE_LANGS = ['ar', 'bn', 'de', 'en', 'es', 'fr', 'hi', 'ja', 'pt', 'ru', 'zh']\r\nexport const DEFAULT_TRIGGER_STATE = ['touched','dirty'];\r\nexport const EMIT_METHODS = ['credit_card', 'debit_card', 'strength']\r\nexport const CROSS_FIELD_VALIDATORS = [\r\n 'same', 'confirmed', 'different',\r\n 'required_if', 'required_unless',\r\n 'required_with', 'required_with_all',\r\n 'required_without', 'required_without_all'\r\n]\r\nexport const ASYNC_RULES = ['unique', 'exists', 'dimension']\r\nexport const FILE_TYPE_RULES = ['image', 'video', 'mimes', 'size']\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { ConfigInterface,LIB_CONFIG} from './config-interface';\r\nimport { DEFAULT_TRIGGER_STATE, GlobalConstant } from './constant';\r\nimport { ErrorTriggerState } from './interface';\r\n\r\n@Injectable()\r\nexport class NgAbsoluteValidatorService {\r\n\r\n public VLIDATOR_CONFIG : ConfigInterface = {};\r\n\r\n constructor(\r\n @Inject(LIB_CONFIG) private config:ConfigInterface\r\n ){this.init()}\r\n\r\n init(){\r\n this.VLIDATOR_CONFIG = this.config;\r\n }\r\n\r\n /**\r\n * @description This method give is remote locader is enable or not\r\n * @returns Boolean\r\n **/\r\n get remoteLoader(){\r\n return (typeof this.VLIDATOR_CONFIG.remoteLoader === 'undefined') ? true : this.VLIDATOR_CONFIG.remoteLoader;\r\n }\r\n\r\n /**\r\n * @description This method give is remote locader is enable or not\r\n * @returns Boolean\r\n **/\r\n get strengthBar(){\r\n return (typeof this.VLIDATOR_CONFIG.strengthBar === 'undefined') ? true : this.VLIDATOR_CONFIG.strengthBar;\r\n }\r\n\r\n /**\r\n * @description This method return the color of the bar based on config\r\n * @returns Object\r\n **/\r\n get strengthColor(){\r\n let strColor = this.VLIDATOR_CONFIG.strengthColor\r\n return (typeof strColor === 'object') ? strColor : GlobalConstant.strength_color\r\n }\r\n\r\n /**\r\n * @description This method return the list of regex config to vlidate\r\n * @returns Object\r\n **/\r\n get strengthLevel(){\r\n let level = this.VLIDATOR_CONFIG.strengthLevel || {};\r\n return Object.assign(GlobalConstant.strength_level,level);\r\n }\r\n\r\n /**\r\n * @description This method check is the loader should display or not\r\n * @returns boolean\r\n **/\r\n get delayLoader(): number {\r\n return this.VLIDATOR_CONFIG.delayLoader || 0;\r\n }\r\n\r\n /**\r\n * @description This method state of triger validation\r\n * @returns boolean\r\n **/\r\n get showErrorOn(): ErrorTriggerState[] {\r\n return (this.VLIDATOR_CONFIG.showErrorOn || DEFAULT_TRIGGER_STATE) as ErrorTriggerState[]\r\n }\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, OnDestroy, Optional, Inject, ContentChild, TemplateRef } from '@angular/core';\r\nimport { CROSS_FIELD_VALIDATORS, CUSTOM_OBJECT_NAME, DEFAULT_LOCALE_LANG, DEFAULT_STRENGTH_COLOR, DEFAULT_TRIGGER_STATE } from './constant';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { NgAbsoluteValidatorService } from './ng-absolute-validator.service';\r\nimport { ErrorTriggerState, FormGroupDirective2, NgForm2 } from './interface';\r\n\r\n@Component({\r\n selector: 'ng-absolute-validator',\r\n templateUrl: './ng-absolute-validator.component.html',\r\n styleUrls: ['./ng-absolute-validator.component.css']\r\n})\r\nexport class NgAbsoluteValidatorComponent implements OnInit, OnDestroy {\r\n\r\n public strength_color : any;\r\n public indicatorColor : string = DEFAULT_STRENGTH_COLOR;\r\n public indicatorScore : number = 0;\r\n public invalid : boolean = true;\r\n public dirty : boolean = false;\r\n public touched : boolean = false;\r\n public inputValue : any;\r\n public isLoaderOn : boolean = false;\r\n public isStrengthBarOn: boolean = false;\r\n public errorMessage : any = {};\r\n public ngAbsData : any = {};\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n\r\n @Input() formInstance : any;\r\n @Input() loader : boolean = true;\r\n @Input() message : any = {};\r\n @Input() defaultError : boolean = true;\r\n @Input() showErrorOn : ErrorTriggerState[] = [];\r\n\r\n @Output() onValid : EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() onValidate: EventEmitter<string[]> = new EventEmitter<string[]>();\r\n\r\n @ContentChild('absError') absError ?: TemplateRef<any>;\r\n @ContentChild('absProgress') absProgress ?: TemplateRef<any>;\r\n @ContentChild('absLoader') absLoader ?: TemplateRef<any>;\r\n\r\n constructor(\r\n private avs : NgAbsoluteValidatorService,\r\n private translate: TranslateService,\r\n @Optional() @Inject(FormGroupDirective) private formGroupDirective: FormGroupDirective2,\r\n @Optional() @Inject(NgForm) private ngForm: NgForm2\r\n ){\r\n const langCode = (navigator.language || DEFAULT_LOCALE_LANG).split('-')[0]\r\n this.translate.setDefaultLang(langCode)\r\n this.translate.use(DEFAULT_LOCALE_LANG)\r\n }\r\n\r\n ngOnInit() {\r\n this.isLoaderOn = this.loader === true ? this.avs.remoteLoader : false;\r\n this.isStrengthBarOn = this.avs.strengthBar;\r\n this.strength_color = this.avs.strengthColor;\r\n this.doCheckAndValidate();\r\n }\r\n\r\n get errorContext() {\r\n return {\r\n $implicit: this.errorMessage\r\n }\r\n }\r\n\r\n get progressContext() {\r\n return {\r\n $implicit: this.indicatorScore,\r\n color: this.indicatorColor\r\n }\r\n }\r\n\r\n get isSubmitted(): boolean {\r\n return this.formGroupDirective?.submitted ?? this.ngForm?.submitted ?? false;\r\n }\r\n\r\n get errorTriggerOn(): string[] {\r\n if (this.showErrorOn.length > 0) {\r\n return this.showErrorOn\r\n }\r\n if (this.formGroupDirective?.errorTriggerOn?.length > 0) {\r\n return this.formGroupDirective.errorTriggerOn\r\n }\r\n if (this.ngForm?.errorTriggerOn?.length > 0) {\r\n return this.ngForm.errorTriggerOn\r\n }\r\n if (this.avs.showErrorOn.length > 0) {\r\n return this.avs.showErrorOn\r\n }\r\n return DEFAULT_TRIGGER_STATE\r\n }\r\n\r\n /**\r\n * @description This method check the rule has dependency with another field or not\r\n * @return boolean\r\n **/\r\n get isDisplay(): boolean {\r\n let isDependent = (this.ngAbsData.validators || [])\r\n .some((rule: string) => CROSS_FIELD_VALIDATORS.includes(rule));\r\n\r\n if (this.errorTriggerOn.includes('submit')) {\r\n return this.isSubmitted && this.invalid\r\n }\r\n if (this.errorTriggerOn.includes('always')) {\r\n return this.invalid\r\n }\r\n return this.invalid\r\n && (isDependent || this.errorTriggerOn.every((on: string) => this.formInstance[on as keyof this]));\r\n }\r\n\r\n /**\r\n * @description This method check and validate the mathod\r\n * @return void\r\n **/\r\n private doCheckAndValidate(): void {\r\n this.setNgAbsData(this.formInstance); // Need Only For Reactive Validation\r\n this.errorMessage = this.generateMessage(this.formInstance.errors, this.message, true); // Need Only For Reactive Validation\r\n\r\n this.formInstance.statusChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe(() => {\r\n this.inputValue = this.formInstance.value;\r\n this.invalid = this.formInstance.invalid;\r\n this.dirty = this.formInstance.dirty;\r\n this.touched = this.formInstance.touched;\r\n this.errorMessage = this.generateMessage(this.formInstance.errors, this.message, true);\r\n\r\n this.setNgAbsData(this.formInstance);\r\n this.emitedData(this.formInstance);\r\n })\r\n }\r\n\r\n /**\r\n * @description This method set the validate methods taking from Template/Reactive from\r\n * @return void\r\n **/\r\n private setNgAbsData(formInstance: any): void {\r\n this.ngAbsData = formInstance[CUSTOM_OBJECT_NAME] || (formInstance.control ? (formInstance.control[CUSTOM_OBJECT_NAME] || {}) : {});\r\n }\r\n\r\n\r\n /**\r\n * @description This method set strength color with max and min range object\r\n * @return void\r\n **/\r\n public getStrengthClass(strengthData: any): void {\r\n\r\n if (!!!strengthData.strength) return;\r\n\r\n strengthData = strengthData.strength;\r\n this.indicatorScore = strengthData && strengthData.score && !!this.inputValue ? strengthData.score : 0;\r\n let strength = this.strength_color.find((v: any) => (this.indicatorScore >= (v.min || -9999) && this.indicatorScore <= (v.max || 9999)));\r\n this.indicatorColor = strength ? strength.color : DEFAULT_STRENGTH_COLOR;\r\n }\r\n\r\n /**\r\n * @description This method trigger event and return the validation information\r\n * @return void\r\n **/\r\n private emitedData(formInstance: any): void {\r\n let emited = {} as any;\r\n emited['isValid'] = formInstance.valid;\r\n emited['isPending'] = formInstance.pending;\r\n\r\n if (this.ngAbsData) {\r\n this.getStrengthClass(this.ngAbsData)\r\n emited['data'] = this.ngAbsData\r\n }\r\n\r\n this.onValid.emit(emited);\r\n this.onValidate.emit(formInstance.errors)\r\n }\r\n\r\n /**\r\n * @description This method generate message\r\n * @return object\r\n **/\r\n private generateMessage(messageObject: any, message: string, is_array = false): object {\r\n messageObject = Object.assign(messageObject || {}, message);\r\n if (is_array) {\r\n return Object.keys(messageObject || {}).map(i => messageObject[i]);\r\n } else {\r\n return messageObject;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","<ng-container *ngIf=\"formInstance.pending && isLoaderOn\">\r\n <div class=\"av-loading-panel\">\r\n <ng-template [ngTemplateOutlet]=\"absLoader ?? absFbLoader\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"(formInstance.control?.ng_abs?.strength || formInstance?.ng_abs?.strength ) && isStrengthBarOn && indicatorScore > 0\">\r\n <div class=\"av-progress\">\r\n <ng-template [ngTemplateOutlet]=\"absProgress ?? absFbProgress\" [ngTemplateOutletContext]=\"progressContext\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isDisplay && defaultError && errorMessage.length > 0\">\r\n <div class=\"av-error-panel\">\r\n <ng-template [ngTemplateOutlet]=\"absError ?? absFbError\"[ngTemplateOutletContext]=\"errorContext\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #absFbLoader>\r\n <div class=\"av-loading\" >\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #absFbProgress>\r\n <div\r\n\t\tclass=\"av-progress-bar\"\r\n\t\trole=\"progressbar\"\r\n\t\taria-valuenow=\"40\"\r\n\t\taria-valuemin=\"0\"\r\n\t\taria-valuemax=\"100\"\r\n\t\t[style.background-color]=\"indicatorColor\"\r\n\t\t[style.width.%]=\"indicatorScore\">\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #absFbError>\r\n <ul class=\"av-errors-list\">\r\n <ng-container *ngFor=\"let error of errorMessage\">\r\n <li [innerText]=\"error\"></li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n","export const toArray = (value: any, seperator: string = ','): any[] => {\r\n let DataArray = (typeof value === 'string' && value.indexOf(seperator) >= 0)\r\n ? value.split(seperator) : (isArray(value) ? value : [value]) as string[];\r\n\r\n return DataArray.filter(item => Boolean(item) && !isEmptyObject(item));\r\n}\r\n\r\nexport const isArray = (actualData: string): boolean => {\r\n if (typeof actualData === 'string' && json(actualData)) {\r\n actualData = JSON.parse(actualData);\r\n }\r\n return Array.isArray(actualData);\r\n}\r\n\r\nexport const isEmptyObject = (value: any): boolean => {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n !Array.isArray(value) &&\r\n Object.keys(value).length === 0\r\n );\r\n}\r\n\r\nexport const camelCase = (string: string): string => {\r\n return string.toLowerCase()\r\n .replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase());\r\n}\r\n\r\nexport const json = (string: string): boolean => {\r\n if (!string) return false;\r\n try {\r\n JSON.parse(string);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport const bytesToSize = (bytes: any, seperator = \"\") => {\r\n let sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\r\n if (bytes == 0) return null;\r\n let number = Math.floor(Math.log(bytes) / Math.log(1024)).toString();\r\n let i = parseInt(number, 10)\r\n if (i === 0) return `${bytes}${seperator}${sizes[i]}`\r\n return `${(bytes / (1024 ** i)).toFixed(1)}${seperator}${sizes[i]}`\r\n}\r\n\r\n\r\nexport function toCharClass(chars: string): string {\r\n return chars.replace(/[\\\\\\]^-]/g, '\\\\$&');\r\n}\r\n\r\n\r\nexport function cloneDeep(data: any): any {\r\n return JSON.parse(JSON.stringify(data))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { toArray } from '../common.utils';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class MessageBuilderService {\r\n\r\n constructor(\r\n private ts : TranslateService,\r\n ){}\r\n\r\n call(langAttr: string, attribute: string, ...args: any) : string {\r\n let message = '';\r\n let [lastElement] = args.slice(-1);\r\n let template = this.ts.instant(langAttr) || ''\r\n let hasCustomTemplate = typeof lastElement === 'object' && Object.keys(lastElement).length > 0;\r\n\r\n if(hasCustomTemplate && lastElement[langAttr] && lastElement[langAttr][this.ts.currentLang]){\r\n template = lastElement[langAttr][this.ts.currentLang]\r\n }\r\n if(hasCustomTemplate && lastElement[this.ts.currentLang]){\r\n template = lastElement[this.ts.currentLang]\r\n }\r\n if (attribute && template) {\r\n message = template.replace(':attribute', attribute);\r\n }\r\n\r\n if (args.length === 0) { return message; }\r\n\r\n args.forEach((v:string, index:number) => {\r\n let replaceWithOne = `:arg${index}`;\r\n let replaceWithMulti = `:arg${index}:`;\r\n\r\n if (message.includes(replaceWithMulti)) {\r\n args = args.splice(index);\r\n let argString = toArray(args) ? toArray(args).join(',') : args;\r\n message = message.replace(replaceWithMulti, argString as string)\r\n }\r\n\r\n if (message.includes(replaceWithOne)) {\r\n message = message.replace(replaceWithOne, v)\r\n }\r\n });\r\n\r\n return message;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class HttpRequestService {\r\n\r\n constructor(\r\n protected http: HttpClient\r\n ) { }\r\n\r\n get(action_url: string, params = {}): Observable<any> {\r\n return this.http.get<any[]>(action_url, { params });\r\n }\r\n\r\n post(action_url: string, data: any = {}, params = {}): Observable<any> {\r\n return this.http.post<any[]>(action_url, data, { params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequestService } from './http.request.service';\r\nimport { NgAbsoluteValidatorService } from './../ng-absolute-validator.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { DEFAULT_DATE_FORMAT, GlobalConstant } from '../constant';\r\nimport { Observable, from, of } from 'rxjs';\r\nimport { AbstractControl2, HttpRequestArgs } from '../interface';\r\nimport { FormControl } from '@angular/forms';\r\nimport { toArray } from '../common.utils';\r\nimport { isAfter, isBefore, isValid, parse } from 'date-fns';\r\n\r\n\r\n@Injectable()\r\nexport class UtilService {\r\n\r\n public defaultTimeZone :string = 'DD-MM-YYYY';\r\n public creditCardIssuers :any = GlobalConstant.credit_card;\r\n public debitCardIssuers :any = GlobalConstant.debit_card;\r\n public customObjectName :any = GlobalConstant.customObjectName;\r\n public customRulesName :any = GlobalConstant.customRulesName\r\n public stringStrength :any = [];\r\n\r\n constructor(\r\n private http: HttpRequestService,\r\n private abs : NgAbsoluteValidatorService\r\n ){this.init()}\r\n\r\n\r\n init(){\r\n this.stringStrength = this.abs.strengthLevel;\r\n }\r\n\r\n public setValidationRules(control:AbstractControl2,rules:string | string[],appends = {}){\r\n let customObjectName = this.customObjectName;\r\n let customRulesName = this.customRulesName;\r\n let ruleArray = Array.isArray(rules) ? rules : [rules];\r\n let activeRules = !!control[customObjectName] && !!control[customObjectName][customRulesName] ? control[customObjectName][customRulesName] : [];\r\n let finalObject = Object.assign({\r\n validators : Array.from(new Set(activeRules.concat(ruleArray)))\r\n },appends);\r\n\r\n control[customObjectName] = finalObject\r\n }\r\n\r\n public json(string:string):boolean {\r\n if(!string) return false;\r\n try {\r\n JSON.parse(string);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public confirmed(control: AbstractControl2, args:string, fieldName = null): boolean | void {\r\n fieldName = fieldName || control['field_name'] || null;\r\n let compared_field_name = args || (`${fieldName}_confirmation`);\r\n let toCompareWith = control.root.get(compared_field_name) as FormControl;\r\n return (control.value === toCompareWith?.value)\r\n }\r\n\r\n public same(control: AbstractControl2, args:string): boolean {\r\n let toCompareWith = control.root.get(args) as FormControl;\r\n return (control.value === toCompareWith?.value);\r\n }\r\n\r\n public different(control:AbstractControl2, args:string): boolean{\r\n let toCompareWith = control.root.get(args) as FormControl;\r\n return (control.value !== toCompareWith?.value);\r\n }\r\n\r\n public required(actualData:string):boolean{\r\n return !!actualData;\r\n }\r\n\r\n public requiredIf(control: AbstractControl2, args: string | string[]): boolean {\r\n let [dependent,matchWith] = toArray(args)\r\n if(!dependent || !matchWith){\r\n return false\r\n }\r\n let toCompareWith = control.root.get(dependent) as FormControl\r\n return (toCompareWith.value === matchWith) ? this.required(control.value) : true\r\n }\r\n\r\n public requiredUnless(control: AbstractControl2, args: string | string[]): boolean {\r\n let [dependent,...matchWith] = toArray(args);\r\n if(!dependent && matchWith.length === 0){\r\n return false\r\n }\r\n\r\n let toCompareWith = control.root.get(dependent) as FormControl;\r\n return matchWith.some(item => item === toCompareWith.value) ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWith(control: AbstractControl2, args: string | string[]): boolean {\r\n let names = toArray(args);\r\n let anyHasValue = names.some(name => {\r\n const c = control.root.get(name);\r\n return c && c.value !== null && c.value !== undefined && c.value !== '';\r\n });\r\n return anyHasValue ? this.required(control.value) : true;\r\n }\r\n\r\n public requiredWithAll(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n return compareWithValue.filter(Boolean).length === matchWith.length ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWithout(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n return compareWithValue.filter(Boolean).length === 0 ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWithoutAll(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t\t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n let emptyFieldCount = compareWithValue.filter((value) => value === '' || value === null || value === undefined)\r\n return emptyFieldCount.length > 0 ? this.required(control.value) : true\r\n }\r\n\r\n public email(actualData:string): boolean{\r\n return (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(actualData))\r\n }\r\n\r\n public above(actualData:number,toBeData:number): boolean{\r\n return (Number(toBeData) < Number(actualData))\r\n }\r\n\r\n public accepted(actualData:any): boolean{\r\n return (actualData || actualData !== false || actualData !== 0)\r\n }\r\n\r\n public date(actualData:string,format:string = DEFAULT_DATE_FORMAT): boolean{\r\n try {\r\n return actualData ? isValid(parse(actualData, format || DEFAULT_DATE_FORMAT, new Date())) : true\r\n }catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public dateFormat(actualData:any, format:string = DEFAULT_DATE_FORMAT): boolean{\r\n try {\r\n return actualData ? isValid(parse(actualData, format || DEFAULT_DATE_FORMAT, new Date())) : true\r\n }catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public after(actualData:string, toBeData:string | string[]): boolean{\r\n if(!!!actualData || !!!toBeData){\r\n return false;\r\n }\r\n\r\n let [matchWithDate,matchWithDateFormat = DEFAULT_DATE_FORMAT] = Array.isArray(toBeData) ? toBeData : toBeData.split(',')\r\n if(!this.dateFormat(actualData,matchWithDateFormat) || !this.dateFormat(matchWithDate,matchWithDateFormat)){\r\n return false\r\n }\r\n\r\n return isAfter(\r\n parse(actualData, matchWithDateFormat, new Date()),\r\n parse(matchWithDate, matchWithDateFormat, new Date())\r\n );\r\n }\r\n\r\n public before(actualData:string, toBeData:string | string[]): boolean{\r\n if(!!!actualData || !!!toBeData){\r\n return false;\r\n }\r\n\r\n let [matchWithDate,matchWithDateFormat = DEFAULT_DATE_FORMAT] = Array.isArray(toBeData) ? toBeData : toBeData.split(',')\r\n if(!this.dateFormat(actualData,matchWithDateFormat) || !this.dateFormat(matchWithDate,matchWithDateFormat)){\r\n return false\r\n }\r\n\r\n return isBefore(\r\n parse(actualData, matchWithDateFormat, new Date()),\r\n parse(matchWithDate, matchWithDateFormat, new Date())\r\n );\r\n }\r\n\r\n public alpha(actualData:string) :boolean{\r\n return (/^[a-z]+$/i.test(actualData));\r\n }\r\n\r\n public alphaNumeric(actualData:string): boolean{\r\n return (/^[a-z0-9]+$/i.test(actualData));\r\n }\r\n\r\n public alphaDash(actualData:string): boolean{\r\n return this.regex(actualData,'^[a-zA-Z0-9-_]+$');\r\n }\r\n\r\n public array(actualData:string): boolean{\r\n if(typeof actualData === 'string' && this.json(actualData)){\r\n actualData = JSON.parse(actualData);\r\n }\r\n return Array.isArray(actualData);\r\n }\r\n\r\n public boolean(actualData:string):boolean{\r\n let booleanAccepted = [\r\n 1,'1',0,'0','true',true,'false','false'\r\n ];\r\n return booleanAccepted.includes(actualData);\r\n }\r\n\r\n public equals(actualData:string,compared_to_value:string): boolean{\r\n return (actualData == compared_to_value);\r\n }\r\n\r\n public endsWith(actualData:string, end_with: any): boolean{\r\n let _end_with = toArray(end_with);\r\n return !_end_with.find((v) => actualData && actualData.endsWith(v));\r\n }\r\n\r\n public startsWith(actualData:string, start_with:string | string[]): boolean{\r\n return toArray(start_with).some((v) => actualData && actualData.startsWith(v))\r\n }\r\n\r\n public in(actualData: string, compare: string | string[]): boolean {\r\n let toCompare = new Set(toArray(compare).map(v => v.toString()))\r\n return toCompare.has(actualData);\r\n }\r\n\r\n public notIn(actualData:string, compare:string | string[]): boolean{\r\n return !this.in(actualData,compare);\r\n }\r\n\r\n public includes(actualData: string, compare: string | string[]): boolean {\r\n if (!actualData) return false;\r\n return toArray(compare).every(v => actualData.includes(v.toString()));\r\n }\r\n\r\n public number(actualData:any): boolean{\r\n return !isNaN(actualData);\r\n }\r\n\r\n public string(actualData:any): boolean{\r\n return isNaN(actualData)\r\n }\r\n\r\n public integer(actualData:any): boolean{\r\n if(!this.number(actualData)) return false;\r\n return Number.isInteger(Number(actualData));\r\n }\r\n\r\n public ip(actualData:string): boolean {\r\n let regexExp = [\r\n '^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'\r\n ].join(\"\\\\.\");\r\n\r\n return this.regex(actualData,regexExp);\r\n }\r\n\r\n public ipv4(actualData:string): boolean {\r\n let regexExp = new RegExp('^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$');\r\n return regexExp.test(actualData)\r\n }\r\n\r\n public ipv6(actualData:string): boolean {\r\n let regexExp = new RegExp('^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}$');\r\n return regexExp.test(actualData)\r\n }\r\n\r\n public max(actualData:any, max:number): boolean{\r\n if(!actualData) return false;\r\n\r\n if(this.integer(actualData)){\r\n return actualData <= max\r\n }else{\r\n return (actualData.length <= max)\r\n }\r\n }\r\n\r\n public min(actualData:any, min:string | number): boolean{\r\n if(!!!actualData || !!!min) return false;\r\n if(this.integer(actualData)){\r\n return Number(actualData) >= Number(min)\r\n }else{\r\n return (actualData.length >= min)\r\n }\r\n }\r\n\r\n public notEquals(actualData:any,compare_to:any): boolean{\r\n return !this.equals(actualData,compare_to);\r\n }\r\n\r\n public range(actualData: string, range: string | string[] | number[]): boolean {\r\n let [min, max] = toArray(range);\r\n return (Number(min) <= Number(actualData)) && (Number(actualData) <= Number(max));\r\n }\r\n\r\n public between(actualData: string, range: string | string[] | number[]): boolean {\r\n let [min, max] = toArray(range);\r\n return (Number(min) < Number(actualData)) && (Number(actualData) < Number(max));\r\n }\r\n\r\n public under(actualData:string, under:string): boolean{\r\n if(!this.number(actualData)) return false;\r\n return Number(actualData) < Number(under);\r\n }\r\n\r\n public url(actualData:string): boolean{\r\n let regexExp = [\r\n '^(?:(?:http(?:s)?|ftp)://)(?:\\\\S+(?::(?:\\\\S)*)?@)?(?:(?:[a-z0-9\\u00a1-\\uffff](?:-)*)',\r\n '(?:[a-z0-9\\u00a1-\\uffff])+)(?:\\\\.(?:[a-z0-9\\u00a1-\\uffff](?:-)*)',\r\n '(?:[a-z0-9\\u00a1-\\uffff])+)',\r\n '(?:\\\\.(?:[a-z0-9\\u00a1-\\uffff]){2,})(?::(?:\\\\d){2,5})?(?:/(?:\\\\S)*)?$'\r\n ].join('*')\r\n\r\n return this.regex(actualData,regexExp);\r\n }\r\n\r\n public regex(actualData:string, expression:string): boolean{\r\n let regexExp = new RegExp(expression);\r\n return regexExp.test(actualData);\r\n }\r\n\r\n public notRegex(actualData:string, expression:string): boolean{\r\n return !this.regex(actualData,expression);\r\n }\r\n\r\n public uuid(actualData:string): boolean{\r\n return this.regex(actualData,'[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}');\r\n }\r\n\r\n public unique(args:HttpRequestArgs): Observable<boolean>{\r\n let http :Observable<any>;\r\n let action = args.url\r\n let method = args.method || 'GET'\r\n let request = args.request|| {}\r\n let params = args.params || {}\r\n\r\n if(action || Object.keys(request).length === 0){\r\n return of(false)\r\n }\r\n\r\n switch(method){\r\n case 'POST':\r\n http = this.http.post(action,request,params);\r\n break;\r\n default:\r\n http = this.http.get(action,{...request,...params});\r\n }\r\n\r\n return http.pipe(map((data:any)=> (data && data.length === 0)))\r\n }\r\n\r\n public exists(args:HttpRequestArgs): Observable<boolean>{\r\n let http :Observable<any>;\r\n let action = args.url\r\n let method = args.method || 'GET'\r\n let request = args.request|| {}\r\n let params = args.params || {}\r\n\r\n if(!action || Object.keys(request).length === 0){\r\n return of(false)\r\n }\r\n\r\n switch(method){\r\n case 'POST':\r\n http = this.http.post(action,request,params);\r\n break;\r\n default:\r\n http = this.http.get(action,{...request,...params});\r\n }\r\n\r\n return http.pipe(map((data:any)=> (data && data.length > 0)))\r\n }\r\n\r\n public getCreditCardData(number:string): any{\r\n if(!number) return;\r\n number = number.toString();\r\n\r\n let card_issuer = this.creditCardIssuers.find((card:any) => this.regex(number,card.regex));\r\n return {issuer : (card_issuer ? card_issuer.name : null)}\r\n }\r\n\r\n public creditCard(actualData:string): boolean{\r\n let cardInfo = this.getCreditCardData(actualData) as any\r\n return cardInfo ? !!cardInfo.issuer : false;\r\n }\r\n\r\n private getDebitCardData(number:number): any{\r\n if(!number) return false;\r\n let _number = number.toString();\r\n\r\n let card_issuer = this.debitCardIssuers.find((card:any) => this.regex(_number,card.regex));\r\n return {issuer : (card_issuer ? card_issuer.name : null)}\r\n }\r\n\r\n public debitCard(actualData:number){\r\n let cardInfo = this.getDebitCardData(actualData)\r\n return cardInfo ? !!cardInfo.issuer : false;\r\n }\r\n\r\n public cvv(actualData:string):boolean{\r\n return this.regex(actualData,'^[0-9]{3,4}$');\r\n }\r\n\r\n public getStrengthData(actualData:string, compare:string | string[]): any{\r\n\r\n if(!!!actualData) return false;\r\n\r\n let toCompare = toArray(compare);\r\n let allowedStrength = [] as any;\r\n let activeStrength = [] as any;\r\n let inActiveStrength = [] as any;\r\n let strengthScore = 0 as number;\r\n let strength_color = this.abs.strengthColor;\r\n let validStrength = strength_color[strength_color.length - 1];\r\n let allowOnMaxScrore = this.number(toCompare[toCompare.length -1]) ? toCompare[toCompare.length -1] : validStrength.min || -9999;\r\n let specialChars = \"@%+\\/'!#$^?:.(){}[]~-_\";\r\n\r\n var letters = new Object() as any;\r\n for (var i = 0; i < actualData.length; i++) {\r\n let assignScore = specialChars.includes(actualData[i]) ? 8.0 : 5.0;\r\n letters[actualData[i]] = (letters[actualData[i]] || 0) + 1;\r\n strengthScore += assignScore / letters[actualData[i]];\r\n }\r\n\r\n let variationCount = 0;\r\n this.stringStrength.forEach((v:any)=>{\r\n if(toCompare.indexOf(v.id) >= 0 || toCompare.length == 0){\r\n allowedStrength.push(v.id)\r\n let isValid = this.regex(actualData,v.regex);\r\n isValid ? activeStrength.push(v.id) : inActiveStrength.push(v.id)\r\n variationCount += isValid ? 1 : 0\r\n }\r\n });\r\n strengthScore += (variationCount - 1) * 10;\r\n strengthScore = Math.round(strengthScore);\r\n\r\n if(inActiveStrength.length > 0){\r\n strengthScore = (strengthScore >= allowOnMaxScrore) ? allowOnMaxScrore - (inActiveStrength.length * 5) : strengthScore;\r\n }\r\n\r\n let sendObject = {\r\n score :strengthScore,\r\n allowedStrength :allowedStrength,\r\n validFor :activeStrength,\r\n validExcept :inActiveStrength,\r\n allowOnMaxScore :allowOnMaxScrore\r\n };\r\n\r\n return sendObject;\r\n }\r\n\r\n public strength(actualData:string,compare:string | string[]): boolean{\r\n let strength = this.getStrengthData(actualData,compare);\r\n return (strength && strength.score >= strength.allowOnMaxScore);\r\n }\r\n\r\n public phoneNo(actualData:string,expression:string | null = null): boolean{\r\n let regex:any = /\\s*(?:\\+?(\\d{1,3}))?[\\W\\D\\s]^|()*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d)[\\W\\D\\s]*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d)[\\W\\D\\s]*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d[\\W\\D\\s]*?\\d)(?: *x(\\d+))?\\s*$/g;\r\n return this.regex(actualData, expression || regex);\r\n }\r\n\r\n public image(fileInstance:File[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0)\r\n return false;\r\n let file = fileInstance[0] as File;\r\n return file.type.startsWith('image/');\r\n }\r\n\r\n public video(fileInstance:File[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0)\r\n return false;\r\n\r\n let file = fileInstance[0] as File;\r\n return file.type.startsWith('video/');\r\n }\r\n\r\n public mimes(fileInstance:File[],compare:string | string[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0 || !!!compare)\r\n return false;\r\n\r\n let file = fileInstance[0];\r\n let ext = file.name.split('.').pop();\r\n let acceptType = toArray(compare);\r\n let hasMime = acceptType.includes(ext);\r\n return !!hasMime;\r\n }\r\n\r\n public size(fileInstance:File[],compare:number): boolean{\r\n if(!!!fileInstance || fileInstance.length == 0 || !!!compare)\r\n return false;\r\n\r\n let file = fileInstance[0];\r\n return file.size <= compare * 1024;\r\n }\r\n\r\n public dimension(fileInstance:File[], compare:string | string[]): Observable<any>{\r\n if(!!!fileInstance || fileInstance.length == 0 || compare.length === 0)\r\n return of(false);\r\n\r\n let file = fileInstance[0];\r\n let type = file.type;\r\n\r\n if(!type.startsWith('image/'))\r\n return of(false);\r\n\r\n let dimension = toArray(compare);\r\n let image = new Image();\r\n let height = 0;\r\n let width = 0;\r\n let ratio = 0;\r\n let heightMatch = 'equal';\r\n let widthMatch = 'equal';\r\n\r\n //max_height=200 | max_height=200 | height = 200\r\n //min_width=200 | min_width=200 | width = 200\r\n //ratio=1.2\r\n\r\n dimension.forEach(el => {\r\n if(el.includes('_height=') || el.startsWith('height=')){\r\n height = parseInt(el.split('=')[1] || 0)\r\n heightMatch = ['max','min'].includes((el.split('=')[0]).split('_')[0]) ? (el.split('=')[0]).split('_')[0] : 'equal'\r\n }\r\n\r\n if(el.includes('_width=') || el.startsWith('width=')){\r\n width = parseInt(el.split('=')[1] || 0 )\r\n widthMatch = ['max','min'].includes((el.split('=')[0]).split('_')[0]) ? (el.split('=')[0]).split('_')[0] : 'equal'\r\n }\r\n\r\n if(el.includes('ratio=')){\r\n ratio = parseFloat(el.split('=')[1])\r\n }\r\n });\r\n\r\n image.src = window.URL.createObjectURL(file);\r\n\r\n return from(new Promise((resolve)=>{\r\n image.onload = () =>{\r\n let isValid = false\r\n if(ratio){\r\n isValid = ((image.width/image.height).toFixed(1) === ratio.toFixed(1));\r\n }else{\r\n let isValidWidth = width ? this.doComparison(image.width,width,widthMatch) : true;\r\n let isValidHeight = height ? this.doComparison(image.height,height,heightMatch) : true;\r\n isValid = (isValidWidth && isValidHeight) as boolean\r\n }\r\n resolve(isValid);\r\n }\r\n }));\r\n }\r\n\r\n\r\n private doComparison(matchWith: number, matchTo: number, operator = 'equal'): boolean {\r\n let compareState = false;\r\n if (operator == 'equal') { compareState = matchWith == matchTo }\r\n if (operator == 'min') { compareState = matchWith >= matchTo }\r\n if (operator == 'max') { compareState = matchWith <= matchTo }\r\n return compareState;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UtilService } from './utils.service';\r\nimport { MessageBuilderService } from './messages-builder.service';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ASYNC_RULES, CROSS_FIELD_VALIDATORS, FILE_TYPE_RULES, GlobalConstant } from '../constant';\r\nimport { AbstractControl, FormControl, ValidationErrors } from '@angular/forms';\r\nimport { camelCase, toArray } from '../common.utils';\r\nimport { AbstractControl2, LocalizedMessageGroup } from '../interface';\r\n\r\n@Injectable()\r\nexport class ValidateRuleService {\r\n\r\n private subMessageMethod = ['max','min'];\r\n private wiredRulesMap = new WeakMap<AbstractControl, boolean>();\r\n\r\n constructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate utl : UtilService\r\n ){}\r\n\r\n public gererateRuleAndValidate(fieldName: string, control: AbstractControl2, rule: string | string[], custom_message:LocalizedMessageGroup): ValidationErrors | null {\r\n\t\tlet messages \t = {} as any;\r\n let generateRules = toArray(rule,'|');\r\n let activeRules = generateRules.map(v => v.includes(':') ? v.split(':')[0]:v);\r\n let isRequiredGroup = !!activeRules.find(v => v.startsWith('required'))\r\n\r\n if(!isRequiredGroup && !!!control.value){\r\n return null;\r\n }\r\n\r\n\t\tfor (let i = 0; i < generateRules.length; i++) {\r\n let isValid = null;\r\n let controlArgs = null\r\n let emitData = {} as any;\r\n\t\t\tlet rule \t\t= generateRules[i];\r\n\t\t\tlet methodName \t= rule.includes(':') ? rule.split(':')[0] : rule;\r\n let args \t\t= rule.includes(':') ? rule.split(':')[1] : '';\r\n\t\t\tlet mulArg \t\t= args.includes(',') ? args.split(',') : [args];\r\n\r\n let currentRule = methodName;\r\n let isCrossFieldRule = CROSS_FIELD_VALIDATORS.includes(currentRule)\r\n let messageKey = methodName;\r\n\r\n methodName = camelCase(methodName);\r\n let emitFnName = camelCase(`get_${messageKey}_data`);\r\n\r\n if(typeof this.utl[methodName as keyof UtilService] !== 'function' || ASYNC_RULES.indexOf(methodName) >= 0)\r\n continue;\r\n\r\n\t\t\tif(this.subMessageMethod.indexOf(methodName) >= 0){\r\n messageKey = this.getMessageKeyRespectToValue(control.value,messageKey);\r\n }\r\n\r\n if(CROSS_FIELD_VALIDATORS.includes(messageKey)){\r\n controlArgs = control\r\n }\r\n else if(FILE_TYPE_RULES.includes(messageKey)){\r\n controlArgs = control['nativeElement'] ? control['nativeElement']['files'] : null\r\n }\r\n else{\r\n controlArgs = control.value\r\n }\r\n\r\n isCrossFieldRule && this.wireSiblingWatchers(controlArgs, fieldName, currentRule, args)\r\n\r\n isValid = this.utl[methodName as keyof UtilService](controlArgs,args);\r\n\r\n if(typeof this.utl[emitFnName as keyof UtilService] === 'function'){\r\n emitData[messageKey] = this.utl[emitFnName as keyof UtilService](control.value,mulArg);\r\n }\r\n\r\n this.utl.setValidationRules(control,activeRules,emitData);\r\n\r\n if(!isValid){\r\n messages[messageKey] = this.mb.call(messageKey, fieldName, ...mulArg, custom_message)\r\n break;\r\n }\r\n }\r\n\r\n if(Object.keys(messages).length > 0){\r\n return messages\r\n }else{\r\n return null;\r\n }\r\n }\r\n\r\n private getMessageKeyRespectToValue(value: any, messageKey: string): string {\r\n if (this.utl.array(value)) { return `${messageKey}.array`; }\r\n if (this.utl.string(value)) { return `${messageKey}.string`; }\r\n if (this.utl.integer(value)) { return `${messageKey}.numeric`; }\r\n return messageKey;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl2, input: string, rule: string, dependents: string): void {\r\n let ctrlNames = toArray(dependents)\r\n if (rule === 'confirmed') {\r\n ctrlNames = [dependents || (`${input}_confirmation`)];\r\n }\r\n\r\n let wiredRules = this.wiredRulesMap.get(control);\r\n if (!wiredRules) {\r\n this.wiredRulesMap.set(control, true);\r\n ctrlNames.forEach(name => {\r\n let ctrl = control.root.get(name) as FormControl\r\n if (ctrl) {\r\n ctrl.valueChanges.pipe(debounceTime(200))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Directive, Input,ElementRef} from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { ValidateRuleService } from '../services/validate-rule.service';\r\nimport { LocalizedMessageGroup } from '../interface';\r\n\r\n@Directive({\r\n\tselector: '[Rule], [rule]',\r\n\tproviders: [{ provide: NG_VALIDATORS, useExisting: RuleDirective, multi: true }]\r\n})\r\nexport class RuleDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessageGroup = {}\r\n private fieldName: string = 'field';\r\n\r\n\t@Input('Rule') rule !: string | string[];\r\n\t@Input('message')\r\n set message(data: LocalizedMessageGroup) {\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate ruleValidate : ValidateRuleService,\r\n\t\tprivate el \t\t\t : ElementRef,\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\treturn this.ruleValidate.gererateRuleAndValidate(this.fieldName,control,this.rule,this.vmessage);\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[above]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AboveDirective, multi: true }]\r\n})\r\nexport class AboveDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('above') above : number = 0;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl) : ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'above');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:number) : ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.above(value,this.above)){\r\n\t\t\treturn {'above': this.mb.call('above',this.fieldName,this.above,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\n\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[accepted]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AcceptedDirective, multi: true }]\r\n})\r\nexport class AcceptedDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('accepted') accepted : any;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'accepted');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:any): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.accepted(value)){\r\n\t\t\treturn {'accepted': this.mb.call('accepted',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[after]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AfterDirective, multi: true }]\r\n})\r\nexport class AfterDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('after') after : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'after');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let [matchWithDate, matchWithDateFormat] = Array.isArray(this.after) ? this.after : this.after.split(',')\r\n if (!!value && !this.utl.after(value, this.after)) {\r\n return { 'after': this.mb.call('after', this.fieldName, matchWithDate, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alpha]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AlphaDirective, multi: true }]\r\n})\r\nexport class AlphaDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alpha(value)){\r\n\t\t\treturn {'alpha': this.mb.call('alpha',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alphaNumeric]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AlphaNumericDirective, multi: true }]\r\n})\r\nexport class AlphaNumericDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha_numeric');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alphaNumeric(value)){\r\n\t\t\treturn {'alpha_numeric': this.mb.call('alpha_numeric',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[array]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: ArrayDirective, multi: true }]\r\n})\r\nexport class ArrayDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'array');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.array(value)){\r\n\t\t\treturn {'array': this.mb.call('array',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[before]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: BeforeDirective, multi: true }]\r\n})\r\nexport class BeforeDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('before') before : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'before');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let [matchWithDate, matchWithDateFormat] = Array.isArray(this.before) ? this.before : this.before.split(',')\r\n if (!!value && !this.utl.before(value, this.before)) {\r\n return { 'before': this.mb.call('before', this.fieldName, matchWithDate, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[boolean]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: BooleanDirective, multi: true }]\r\n})\r\nexport class BooleanDirective implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'boolean');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.boolean(value)){\r\n\t\t\treturn {'boolean': this.mb.call('boolean',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[confirmed]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: ConfirmedDirective, multi: true }]\r\n})\r\nexport class ConfirmedDirective implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('confirmed') confirmed : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'confirmed');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.confirmed,this.fieldName);\r\n\t}\r\n\r\n private isValid(control: AbstractControl, args: string, fieldName: any): ValidationErrors | null {\r\n\t\tif(!!control.value && !this.utl.confirmed(control,args,fieldName)){\r\n\t\t\treturn {'confirmed': this.mb.call('confirmed',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let ctrlName = this.confirmed || (`${this.fieldName}_confirmation`);\r\n let sibling = control.root.get(ctrlName) as FormControl;\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { DEFAULT_DATE_FORMAT } from '../../constant';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[date]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DateDirective, multi: true }]\r\n})\r\n\r\nexport class DateDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('date') date : string = ''\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'date');\r\n\t\treturn this.isValid(control.value,this.date || DEFAULT_DATE_FORMAT);\r\n\t}\r\n\r\n\tprivate isValid(value:string,format:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.date(value,format)){\r\n\t\t\treturn {'date': this.mb.call('date',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { DEFAULT_DATE_FORMAT } from '../../constant';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[dateFormat]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DateFormatDirective, multi: true }]\r\n})\r\n\r\nexport class DateFormatDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('dateFormat') dateFormat : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'date_format');\r\n return this.isValid(control.value, this.dateFormat || DEFAULT_DATE_FORMAT);\r\n }\r\n\r\n private isValid(value: string, format: string): ValidationErrors | null {\r\n if (!!value && !this.utl.dateFormat(value, format)) {\r\n return { 'date_format': this.mb.call('date_format', this.fieldName, this.dateFormat, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[different]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DifferentDirective, multi: true }]\r\n})\r\nexport class DifferentDirective implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('different') different : any;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'different');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.different);\r\n\t}\r\n\r\n\r\n private isValid(control: AbstractControl, compared_value: string): ValidationErrors | null {\r\n if (!!control.value && !this.utl.different(control, compared_value)) {\r\n return { 'different': this.mb.call('different', this.fieldName, this.different, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let sibling = control.root.get(this.different) as FormControl;\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$)).subscribe(() => {\r\n control.updateValueAndValidity({ onlySelf: true });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[email]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EmailDirective, multi: true }]\r\n})\r\nexport class EmailDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'email');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.email(value)) {\r\n return { 'email': this.mb.call('email', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[endsWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EndsWithDirective, multi: true }]\r\n})\r\nexport class EndsWithDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('endsWith') endsWith : string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'ends_with');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.endsWith(value,this.endsWith)){\r\n\t\t\treturn {'ends_with': this.mb.call('ends_with',this.fieldName,this.endsWith,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[equals]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EqualsDirective, multi: true }]\r\n})\r\nexport class EqualsDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('equals') equals : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl) : ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'equals');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string) : ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.equals(value,this.equals)){\r\n\t\t\treturn {'equals': this.mb.call('equals',this.fieldName,this.equals,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[in]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: InDirective, multi: true }]\r\n})\r\nexport class InDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('in') in : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'in');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.in(value,this.in)){\r\n\t\t\treturn {'in': this.mb.call('in',this.fieldName,this.in,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[includes]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: IncludesDirective, multi: true }]\r\n})\r\nexport class IncludesDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('includes') includes : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'includes');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.includes(value, this.includes)) {\r\n return { 'includes': this.mb.call('includes', this.fieldName, this.includes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[integer]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: IntegerDirective, multi: true }]\r\n})\r\nexport class IntegerDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'integer');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.integer(value)) {\r\n return { 'integer': this.mb.call('integer', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ip]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: IpDirective, multi: true }]\r\n})\r\nexport class IpDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ip');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.ip(value)) {\r\n return { 'ip': this.mb.call('ip', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ipv4]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Ipv4Directive, multi: true }]\r\n})\r\nexport class Ipv4Directive implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ipv4');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.ipv4(value)) {\r\n return { 'ipv4': this.mb.call('ipv4', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ipv6]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Ipv6Directive, multi: true }]\r\n})\r\nexport class Ipv6Directive implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ipv6');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.ipv6(value) && !!value) {\r\n return { 'ipv6': this.mb.call('ipv6', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[json]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: JsonDirective, multi: true }]\r\n})\r\nexport class JsonDirective implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'json');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.json(value)) {\r\n return { 'json': this.mb.call('json', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[max]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: MaxDirective, multi: true }]\r\n})\r\nexport class MaxDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('max') max !: number;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'max');\r\n return this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let fnName = 'max.string';\r\n if (this.utl.integer(value)) { fnName = 'max.numeric'; }\r\n if (this.utl.array(value)) { fnName = 'max.array'; }\r\n\r\n if (!this.utl.max(value, this.max) && !!value) {\r\n return { 'max': this.mb.call(fnName, this.fieldName, this.max, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[min]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: MinDirective, multi: true }]\r\n})\r\nexport class MinDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n\t@Input('min') min !: number;\r\n\t@Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'min');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let fnName = 'min.string';\r\n if (this.utl.integer(value)) { fnName = 'min.numeric'; }\r\n if (this.utl.array(value)) { fnName = 'min.array'; }\r\n\r\n if (!!value && !this.utl.min(value, this.min)) {\r\n return { 'min': this.mb.call(fnName, this.fieldName, this.min, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notEquals]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotEqualsDirective, multi: true }]\r\n})\r\nexport class NotEqualsDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notEquals') notEquals : any\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_equals');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notEquals(value, this.notEquals)) {\r\n return { 'not_equals': this.mb.call('not_equals', this.fieldName, this.notEquals, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notIn]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotInDirective, multi: true }]\r\n})\r\nexport class NotInDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notIn') notIn : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_in');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notIn(value, this.notIn)) {\r\n return { 'not_in': this.mb.call('not_in', this.fieldName, this.notIn, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[number]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NumberDirective, multi: true }]\r\n})\r\nexport class NumberDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'number');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.number(value)) {\r\n return { 'number': this.mb.call('number', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[range]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RangeDirective, multi: true }]\r\n})\r\nexport class RangeDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('range') range \t: string | string[] | number[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'range');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.range(value, this.range) && !!value) {\r\n return { 'range': this.mb.call('range', this.fieldName, ...toArray(this.range), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[between]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: BetweenDirective, multi: true }]\r\n})\r\nexport class BetweenDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('between') between : string | string[] | number[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'range');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.between(value, this.between) && !!value) {\r\n return { 'between': this.mb.call('between', this.fieldName, ...toArray(this.between), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[regex]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RegexDirective, multi: true }]\r\n})\r\nexport class RegexDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('regex') regex : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'regex');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.regex(value, this.regex)) {\r\n return { 'regex': this.mb.call('regex', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[same]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: SameDirective, multi: true }]\r\n})\r\nexport class SameDirective implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('same') same !: string;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'same');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.same);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string): ValidationErrors | null {\r\n if (!this.utl.same(control, args) && !!control.value) {\r\n return { 'same': this.mb.call('same', this.fieldName, this.same, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let sibling = control.root.get(this.same);\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[startsWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: StartsWithDirective, multi: true }]\r\n})\r\nexport class StartsWithDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('startsWith') startsWith : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'starts_with');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.startsWith(value, this.startsWith)) {\r\n return { 'starts_with': this.mb.call('starts_with', this.fieldName, this.startsWith, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[string]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: StringDirective, multi: true }]\r\n})\r\nexport class StringDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'string');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.string(value) && !!value) {\r\n return { 'string': this.mb.call('string', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[under]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: UnderDirective, multi: true }]\r\n})\r\nexport class UnderDirective implements Validator {\r\n\r\n private vmessage: LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('under') under: any;\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb : MessageBuilderService,\r\n private el : ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'under');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.under(value, this.under)) {\r\n return { 'under': this.mb.call('under', this.fieldName, this.under, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[url]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: UrlDirective, multi: true }]\r\n})\r\nexport class UrlDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'url');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.url(value)) {\r\n return { 'url': this.mb.call('url', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alphaDash]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AlphaDashDirective, multi: true }]\r\n})\r\nexport class AlphaDashDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha_dash');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alphaDash(value)){\r\n\t\t\treturn {'alpha_dash': this.mb.call('alpha_dash',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notRegex]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotRegexDirective, multi: true }]\r\n})\r\nexport class NotRegexDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notRegex') notRegex : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_regex');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notRegex(value, this.notRegex)) {\r\n return { 'not_regex': this.mb.call('not_regex', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[uuid]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: UuidDirective, multi: true }]\r\n})\r\nexport class UuidDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'uuid');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.uuid(value)) {\r\n return { 'uuid': this.mb.call('uuid', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { debounceTime, distinctUntilChanged, first, map, Observable, of, switchMap } from 'rxjs';\r\nimport { HttpRequestArgs, LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { cloneDeep } from '../../common.utils';\r\n\r\n@Directive({\r\n selector: '[unique]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: UniqueDirective, multi: true }]\r\n})\r\nexport class UniqueDirective implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('unique') unique !: HttpRequestArgs;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService,\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n this.utl.setValidationRules(control, 'unique');\r\n return control.valueChanges.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n switchMap((value) => value ? this.isValid(value) : of(null)),\r\n first()\r\n )\r\n }\r\n\r\n private isValid(value: string): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let cloned = cloneDeep(this.unique)\r\n let request = { ...{ [this.unique.field || this.fieldName]: value }, ...cloned['request'] }\r\n let unique = Object.assign(cloned,{request})\r\n\r\n return this.utl.unique(unique).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'unique': this.mb.call('unique', this.fieldName, this.vmessage) } : null\r\n })\r\n );\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[creditCard]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: CreditCardDirective, multi: true }]\r\n})\r\nexport class CreditCardDirective implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'credit_card',{\r\n\t\t\tcredit_card:this.utl.getCreditCardData(control.value)\r\n\t\t});\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.creditCard(value)){\r\n\t\t\treturn {'credit_card': this.mb.call('credit_card',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[debitCard]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DebitCardDirective, multi: true }]\r\n})\r\nexport class DebitCardDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'debit_card',{\r\n\t\t\tdebit_card:this.utl.getCreditCardData(control.value)\r\n\t\t});\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: number): ValidationErrors | null {\r\n if (!!value && !this.utl.debitCard(value)) {\r\n return { 'debit_card': this.mb.call('debit_card', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[cvv]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: CvvDirective, multi: true }]\r\n})\r\nexport class CvvDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'cvv');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.cvv(value)){\r\n\t\t\treturn {'cvv': this.mb.call('cvv',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[strength]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: StrengthDirective, multi: true }]\r\n})\r\nexport class StrengthDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field'\r\n\r\n\t@Input('strength') strength : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'strength', {\r\n strength: this.utl.getStrengthData(control.value, this.strength)\r\n });\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.strength(value, this.strength)) {\r\n return { 'strength': this.mb.call('strength', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[PhoneNo]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: PhoneNoDirective, multi: true }]\r\n})\r\nexport class PhoneNoDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('PhoneNo') PhoneNo : string | null = null;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'phone_no');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.phoneNo(value, this.PhoneNo)) {\r\n return { 'phone_no': this.mb.call('phone_no', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[required]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredDirective, multi: true }]\r\n})\r\nexport class RequiredDirective implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.required(value)) {\r\n return { 'required': this.mb.call('required', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredIf]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredIfDirective, multi: true }]\r\n})\r\nexport class RequiredIfDirective implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('requiredIf') requiredIf : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_if');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredIf);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredIf(control, args)) {\r\n let _args = toArray(args);\r\n return { 'required_if': this.mb.call('required_if', this.fieldName, ..._args, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let [name, ...args] = toArray(this.requiredIf)\r\n let sibling = control.root.get(name) as FormControl\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[requiredUnless]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredUnlessDirective, multi: true }]\r\n})\r\nexport class RequiredUnlessDirective implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('requiredUnless') requiredUnless : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'required_unless');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.requiredUnless)\r\n\t}\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredUnless(control, args)) {\r\n return { 'required_unless': this.mb.call('required_unless', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let [name, ...args] = toArray(this.requiredUnless)\r\n let sibling = control.root.get(name) as FormControl\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[requiredWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithDirective, multi: true }]\r\n})\r\nexport class RequiredWithDirective implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWith') requiredWith : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb : MessageBuilderService,\r\n private el : ElementRef,\r\n private utl : UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_with');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWith)\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWith(control, args)) {\r\n return { 'required_with': this.mb.call('required_with', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWith)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredWithAll]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithAllDirective, multi: true }]\r\n})\r\nexport class RequiredWithAllDirective implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithAll') requiredWithAll: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_with_all');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithAll);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithAll(control, args)) {\r\n return { 'required_with_all': this.mb.call('required_with_all', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithAll)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredWithout]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithoutDirective, multi: true }]\r\n})\r\nexport class RequiredWithoutDirective implements Validator {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithout') requiredWithout: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_without');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithout)\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithout(control, args)) {\r\n return { 'required_without': this.mb.call('required_without', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithout)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredWithoutAll]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithoutAllDirective, multi: true }]\r\n})\r\nexport class RequiredWithoutAllDirective implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithoutAll') requiredWithoutAll: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_without_all');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithoutAll);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithoutAll(control, args)) {\r\n return { 'required_without_all': this.mb.call('required_without_all', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithoutAll)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[mimes]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: MimesDirective, multi: true }]\r\n})\r\nexport class MimesDirective implements Validator {\r\n\r\n private vmessage: LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('mimes') mimes: string | string[] = [];\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'mimes');\r\n return this.isValid(this.el.nativeElement.files, this.mimes)\r\n }\r\n\r\n protected isValid(fileInstance: File[], mimes: string | string[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && this.utl.mimes(fileInstance, mimes)) {\r\n let _mimes = toArray(mimes)\r\n return { 'mimes': this.mb.call('mimes', this.fieldName, ..._mimes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[size]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: SizeDirective, multi: true }]\r\n})\r\nexport class SizeDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('size') size !:number;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'mimes');\r\n return this.isValid(this.el.nativeElement.files, this.size)\r\n }\r\n\r\n private isValid(fileInstance: File[], mimes: number): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.size(fileInstance, mimes)) {\r\n return { 'size': this.mb.call('size', this.fieldName, mimes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\n\r\n@Directive({\r\n selector: '[dimension]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: DimensionDirective, multi: true }]\r\n})\r\nexport class DimensionDirective implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('dimension') dimension : string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService,\r\n private mb\t: MessageBuilderService,\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n this.utl.setValidationRules(control, 'dimension');\r\n return this.isValid()\r\n }\r\n\r\n private isValid(): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let files = this.el.nativeElement.files as File[];\r\n if(files.length === 0){\r\n return of(null)\r\n }\r\n return this.utl.dimension(files, this.dimension).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'dimension': this.mb.call('dimension', this.fieldName, this.dimension, this.vmessage) } : null\r\n })\r\n )\r\n }\r\n}\r\n","import { Directive, Input, ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[image]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: ImageDirective, multi: true }]\r\n})\r\nexport class ImageDirective implements Validator {\r\n\r\n private vmessage: LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'image');\r\n return this.isValid(this.el.nativeElement.files);\r\n }\r\n\r\n private isValid(fileInstance: File[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.image(fileInstance)) {\r\n return { 'image': this.mb.call('image', this.fieldName, this.message) }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[video]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: VideoDirective, multi: true }]\r\n})\r\nexport class VideoDirective implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'video');\r\n return this.isValid(this.el.nativeElement.files);\r\n }\r\n\r\n private isValid(fileInstance: File[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.video(fileInstance)) {\r\n return { 'video': this.mb.call('video', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n\r\n","import { distinctUntilChanged, first, tap } from 'rxjs/operators';\r\nimport { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { debounceTime, map, Observable, of, switchMap } from 'rxjs';\r\nimport { HttpRequestArgs, LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { cloneDeep } from '../../common.utils';\r\n\r\n\r\n@Directive({\r\n selector: '[exists]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: ExistsDirective, multi: true }]\r\n})\r\nexport class ExistsDirective implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('exists') exists !: HttpRequestArgs;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t : ElementRef,\r\n\t\tprivate utl : UtilService,\r\n\t\tprivate mb\t : MessageBuilderService,\r\n\t){\r\n this.fieldName = this.el.nativeElement.name\r\n }\r\n\r\n validate(control:AbstractControl) : Promise<ValidationErrors|null>| Observable<ValidationErrors|null> {\r\n\t\tthis.utl.setValidationRules(control,'exists');\r\n return control.valueChanges.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n switchMap((value) => value ? this.isValid(value) : of(null)),\r\n first()\r\n )\r\n\t}\r\n\r\n private isValid(value: string): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let cloned = cloneDeep(this.exists)\r\n let request = { ...{ [this.exists.field || this.fieldName]: value }, ...cloned['request'] }\r\n let exists = Object.assign(cloned,{request})\r\n\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'exists': this.mb.call('exists', this.fieldName, this.vmessage) } : null\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MessageBuilderService } from '../services/messages-builder.service';\r\nimport { ValidateRuleService } from '../services/validate-rule.service';\r\nimport { UtilService } from '../services/utils.service';\r\nimport { RuleDirective } from './rule.directive';\r\nimport { AboveDirective } from './above/above.directive';\r\nimport { AcceptedDirective } from './accepted/accepted.directive';\r\nimport { AfterDirective } from './after/after.directive';\r\nimport { AlphaDirective } from './alpha/alpha.directive';\r\nimport { AlphaNumericDirective } from './alpha_numeric/alpha-numeric.directive';\r\nimport { ArrayDirective } from './array/array.directive';\r\nimport { BeforeDirective } from './before/before.directive';\r\nimport { BooleanDirective } from './boolean/boolean.directive';\r\nimport { ConfirmedDirective } from './confirmed/confirmed.directive';\r\nimport { DateDirective } from './date/date.directive';\r\nimport { DateFormatDirective } from './date_format/date-format.directive';\r\nimport { DifferentDirective } from './different/different.directive';\r\nimport { EmailDirective } from './email/email.directive';\r\nimport { EndsWithDirective } from './ends_with/ends-with.directive';\r\nimport { EqualsDirective } from './equals/equals.directive';\r\nimport { InDirective } from './in/in.directive';\r\nimport { IncludesDirective } from './includes/includes.directive';\r\nimport { IntegerDirective } from './integer/integer.directive';\r\nimport { IpDirective } from './ip/ip.directive';\r\nimport { Ipv4Directive } from './ipv4/ipv4.directive';\r\nimport { Ipv6Directive } from './ipv6/ipv6.directive';\r\nimport { JsonDirective } from './json/json.directive';\r\nimport { MaxDirective } from './max/max.directive';\r\nimport { MinDirective } from './min/min.directive';\r\nimport { NotEqualsDirective } from './not_equals/not-equals.directive';\r\nimport { NotInDirective } from './not_in/not-in.directive';\r\nimport { NumberDirective } from './number/number.directive';\r\nimport { RangeDirective } from './range/range.directive';\r\nimport { BetweenDirective } from './between/between.directive';\r\nimport { RegexDirective } from './regex/regex.directive';\r\nimport { SameDirective } from './same/same.directive';\r\nimport { StartsWithDirective } from './starts_with/starts-with.directive';\r\nimport { StringDirective } from './string/string.directive';\r\nimport { UnderDirective } from './under/under.directive';\r\nimport { UrlDirective } from './url/url.directive';\r\nimport { AlphaDashDirective } from './alpha_dash/alpha-dash.directive';\r\nimport { NotRegexDirective } from './not_regex/not-regex.directive';\r\nimport { UuidDirective } from './uuid/uuid.directive';\r\nimport { UniqueDirective } from './unique/unique.directive';\r\nimport { CreditCardDirective } from './credit_card/credit-card.directive';\r\nimport { DebitCardDirective } from './debit_card/debit-card.directive';\r\nimport { CvvDirective } from './cvv/cvv.directive';\r\nimport { StrengthDirective } from './strength/strength.directive';\r\nimport { PhoneNoDirective } from './phone_no/phone-no.directive';\r\nimport { RequiredDirective } from '../rule/required/required.directive';\r\nimport { RequiredIfDirective } from './required_if/required-if.directive';\r\nimport { RequiredUnlessDirective } from './required_unless/required-unless.directive';\r\nimport { RequiredWithDirective } from './required_with/required-with.directive';\r\nimport { RequiredWithAllDirective } from './required_with_all/required-with-all.directive';\r\nimport { RequiredWithoutDirective } from './required_without/required-without.directive';\r\nimport { RequiredWithoutAllDirective } from './required_without_all/required-without-all.directive';\r\nimport { MimesDirective } from './mimes/mimes.directive';\r\nimport { SizeDirective } from './size/size.directive';\r\nimport { DimensionDirective } from './dimension/dimension.directive';\r\nimport { ImageDirective } from './image/image.directive';\r\nimport { VideoDirective } from './video/video.directive';\r\nimport { ExistsDirective } from './exists/exists.directive';\r\n\r\n\r\nconst rulesDirectives = [\r\n RuleDirective,\r\n RequiredDirective, AboveDirective, AcceptedDirective, AfterDirective,\r\n AlphaDirective, AlphaNumericDirective, ArrayDirective, UrlDirective,\r\n DateDirective, BeforeDirective, BooleanDirective, ConfirmedDirective,\r\n DateFormatDirective, DifferentDirective, EmailDirective, InDirective,\r\n EqualsDirective, EndsWithDirective, IncludesDirective, Ipv4Directive,\r\n SameDirective, IpDirective, Ipv6Directive, JsonDirective, MaxDirective,\r\n MinDirective, NotEqualsDirective, NotInDirective, StartsWithDirective,\r\n RangeDirective, BetweenDirective, RegexDirective, IntegerDirective,\r\n NumberDirective, StringDirective, UnderDirective, NotRegexDirective,\r\n UuidDirective, UniqueDirective, CreditCardDirective, DebitCardDirective,\r\n CvvDirective, StrengthDirective, PhoneNoDirective, RequiredIfDirective,\r\n RequiredUnlessDirective, RequiredWithDirective, RequiredWithAllDirective,\r\n RequiredWithoutDirective, RequiredWithoutAllDirective, MimesDirective,\r\n SizeDirective, DimensionDirective, ImageDirective, VideoDirective,\r\n ExistsDirective, AlphaDashDirective\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ...rulesDirectives\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n UtilService,\r\n ValidateRuleService,\r\n MessageBuilderService,\r\n ],\r\n exports: [\r\n ...rulesDirectives\r\n ],\r\n\r\n})\r\nexport class RuleModule { }\r\n","import { AbstractControl, ValidatorFn, ValidationErrors, FormGroup } from '@angular/forms';\r\nimport { Injectable } from '@angular/core';\r\nimport { ValidateRuleService } from './validate-rule.service';\r\nimport { GlobalConstant } from '../constant';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { AbstractControl2, HttpRequestArgs } from '../interface';\r\nimport { UtilService } from './utils.service';\r\nimport { MessageBuilderService } from './messages-builder.service';\r\n\r\n@Injectable()\r\nexport class ReactiveValidator {\r\n\r\n public fieldDefaultNameRule = GlobalConstant.fieldDefaultNameRule;\r\n public customFieldName = GlobalConstant.customFieldName;\r\n\r\n constructor(\r\n private rule: ValidateRuleService,\r\n private utl : UtilService,\r\n private mb : MessageBuilderService\r\n ) { }\r\n\r\n public map(rule: string | string[], message: any = {}): ValidatorFn {\r\n return (control: AbstractControl2): { [key: string]: boolean } | null => {\r\n let ctrlName = control[this.customFieldName] ?? (control[this.customFieldName] = this.getControlName(control));\r\n return ctrlName ? this.rule.gererateRuleAndValidate(ctrlName, control, rule, message) : null;\r\n };\r\n }\r\n\r\n public unique(exists: HttpRequestArgs, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fieldName = control[this.customFieldName] || null\r\n exists['request'] = { ...{ [exists.field || fieldName]: control.value }, ...exists['request'] }\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'unique': this.mb.call('unique', fieldName, message) } : null\r\n })\r\n );\r\n };\r\n }\r\n\r\n public exists(exists: HttpRequestArgs, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fieldName = control[this.customFieldName] || null\r\n exists['request'] = { ...{ [exists.field || fieldName]: control.value }, ...exists['request'] }\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'exists': this.mb.call('exists', fieldName, message) } : null\r\n })\r\n );\r\n };\r\n }\r\n\r\n public dimension(args: any, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fileInstance = control['nativeElement'] ? control['nativeElement'].files : null;\r\n let fieldName = control[this.customFieldName] || null\r\n return this.utl.dimension(fileInstance, args).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'dimension': this.mb.call('dimension', fieldName, args, message) } : null\r\n })\r\n )\r\n };\r\n }\r\n\r\n private getControlName(control: AbstractControl): string | null {\r\n const parent = control.parent;\r\n if (!parent) return null;\r\n\r\n const controls = (parent as FormGroup).controls;\r\n const name = Object.keys(controls).find(key => controls[key] === control);\r\n return name ?? null;\r\n }\r\n}\r\n","import { GlobalConstant } from '../../constant';\r\nimport { Directive,ElementRef,Input} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n \tselector: '[formControl],[formControlName]'\r\n})\r\n\r\nexport class NativeElementDirective{\r\n\r\n\t@Input('formControlName') field_name : string = '';\r\n\r\n \tconstructor(\r\n\t\tprivate el \t\t: ElementRef,\r\n\t\tprivate control : NgControl\r\n\t){this.setNativElement();}\r\n\r\n\tsetNativElement(){\r\n\t\t//setTimeout(()=>{\r\n\t\t\tlet customElementName = GlobalConstant.customElementName;\r\n\t\t\tlet customFieldName = GlobalConstant.customFieldName;\r\n\t\t\tif(this.control && this.control.control){\r\n\t\t\t\t(this.control.control as any)[customElementName] = this.el.nativeElement;\r\n\t\t\t\t(this.control.control as any)[customFieldName] = this.el.nativeElement.name || this.field_name;\r\n\t\t\t}\r\n\t\t//})\r\n\t}\r\n}\r\n","export default {\n \"above\": \"The :attribute should be above :arg0.\",\n \"accepted\": \"The :attribute must be accepted.\",\n \"after\": \"The :attribute must be a date after :arg0.\",\n \"alpha\": \"The :attribute may only contain letters.\",\n \"alpha_dash\": \"The :attribute may only contain letters, numbers, dashes and underscores.\",\n \"alpha_numeric\": \"The :attribute may only contain letters and numbers.\",\n \"array\": \"The :attribute must be an array.\",\n \"before\": \"The :attribute must be a date before :arg0.\",\n \"boolean\": \"The :attribute field must be true or false.\",\n \"confirmed\": \"The :attribute confirmation does not match.\",\n \"credit_card\": \"The :attribute must be a valid credit card number.\",\n \"cvv\": \"The :attribute must be a valid CVV number.\",\n \"date\": \"The :attribute is not a valid date.\",\n \"date_format\": \"The :attribute does not match the format :arg0.\",\n \"debit_card\": \"The :attribute must be a valid debit card number.\",\n \"different\": \"The :attribute and :arg0 must be different.\",\n \"dimension\": \"The :attribute has invalid image dimension.\",\n \"email\": \"The :attribute must be a valid email address.\",\n \"ends_with\": \"The :attribute must end with one of the following :arg0:\",\n \"equals\": \"The :attribute must be equal with :arg0\",\n \"exists\": \"The selected :attribute is invalid.\",\n \"image\": \"The :attribute must be a valid image.\",\n \"in\": \"The selected :attribute must be in :arg0:.\",\n \"includes\": \"The :attribute must be contain with :arg0:.\",\n \"integer\": \"The :attribute must be an integer.\",\n \"ip\": \"The :attribute must be a valid IP address.\",\n \"ipv4\": \"The :attribute must be a valid IPv4 address.\",\n \"ipv6\": \"The :attribute must be a valid IPv6 address.\",\n \"json\": \"The :attribute must be a valid JSON string.\",\n \"max\": {\n \"array\": \"The :attribute may not have more than :arg0 items.\",\n \"numeric\": \"The :attribute may not be greater than :arg0.\",\n \"string\": \"The :attribute may not be greater than :arg0 characters.\"\n },\n \"min\": {\n \"array\": \"The :attribute must have at least :arg0 items.\",\n \"numeric\": \"The :attribute must be at least :arg0.\",\n \"string\": \"The :attribute must be at least :arg0 characters.\"\n },\n \"mimes\": \"The :attribute must be a file of type :arg0:.\",\n \"not_equals\": \"The :attribute must not be equal with :arg0\",\n \"not_in\": \"The selected :attribute must not be in :arg0:.\",\n \"not_regex\": \"The :attribute format is invalid.\",\n \"number\": \"The :attribute must be a number.\",\n \"phone_no\": \"The :attribute must be a valid phone number.\",\n \"range\": \"The :attribute must be between :arg0 and :arg1.\",\n \"between\": \"The :attribute must be between :arg0 and :arg1, exclusive of both.\",\n \"regex\": \"The :attribute format is invalid.\",\n \"required\": \"The :attribute field is required.\",\n \"required_if\": \"The :attribute field is required when :arg0 is :arg1.\",\n \"required_unless\": \"The :attribute field is required unless :arg0 is in :arg1:.\",\n \"required_with\": \"The :attribute field is required when any of :arg0: is present.\",\n \"required_with_all\": \"The :attribute field is required when :arg0: are present.\",\n \"required_without\": \"The :attribute field is required when :arg0: is not present.\",\n \"required_without_all\": \"The :attribute field is required when none of :arg0: are present.\",\n \"same\": \"The :attribute and :arg0 must match.\",\n \"size\": \"The :attribute must be :arg0 KB or less.\",\n \"starts_with\": \"The :attribute must start with one of the following :arg0\",\n \"string\": \"The :attribute must be a string.\",\n \"strength\": \"The :attribute is not strong enough.\",\n \"under\": \"The :attribute must be under :arg0.\",\n \"url\": \"The :attribute format is invalid.\",\n \"uuid\": \"The :attribute must be a valid UUID.\",\n \"unique\": \"The :attribute has already been taken.\",\n \"video\": \"The :attribute must be a valid video.\"\n}\n","export default {\n \"above\": \"Das Feld :attribute muss über :arg0 liegen.\",\n \"accepted\": \"Das Feld :attribute muss akzeptiert werden.\",\n \"after\": \"Das Feld :attribute muss ein Datum nach :arg0 sein.\",\n \"alpha\": \"Das Feld :attribute darf nur Buchstaben enthalten.\",\n \"alpha_dash\": \"Das Feld :attribute darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten.\",\n \"alpha_numeric\": \"Das Feld :attribute darf nur Buchstaben und Zahlen enthalten.\",\n \"array\": \"Das Feld :attribute muss ein Array sein.\",\n \"before\": \"Das Feld :attribute muss ein Datum vor :arg0 sein.\",\n \"boolean\": \"Das Feld :attribute muss wahr oder falsch sein.\",\n \"confirmed\": \"Die Bestätigung von :attribute stimmt nicht überein.\",\n \"credit_card\": \"Das Feld :attribute muss eine gültige Kreditkartennummer sein.\",\n \"cvv\": \"Das Feld :attribute muss eine gültige CVV-Nummer sein.\",\n \"date\": \"Das Feld :attribute ist kein gültiges Datum.\",\n \"date_format\": \"Das Feld :attribute entspricht nicht dem Format :arg0.\",\n \"debit_card\": \"Das Feld :attribute muss eine gültige Debitkartennummer sein.\",\n \"different\": \"Die Felder :attribute und :arg0 müssen unterschiedlich sein.\",\n \"dimension\": \"Das Feld :attribute hat eine ungültige Bildgröße.\",\n \"email\": \"Das Feld :attribute muss eine gültige E-Mail-Adresse sein.\",\n \"ends_with\": \"Das Feld :attribute muss mit einem der folgenden Werte enden: :arg0:\",\n \"equals\": \"Das Feld :attribute muss gleich :arg0 sein.\",\n \"exists\": \"Das ausgewählte Feld :attribute ist ungültig.\",\n \"image\": \"Das Feld :attribute muss ein gültiges Bild sein.\",\n \"in\": \"Das ausgewählte Feld :attribute muss in :arg0: enthalten sein.\",\n \"includes\": \"Das Feld :attribute muss :arg0: enthalten.\",\n \"integer\": \"Das Feld :attribute muss eine ganze Zahl sein.\",\n \"ip\": \"Das Feld :attribute muss eine gültige IP-Adresse sein.\",\n \"ipv4\": \"Das Feld :attribute muss eine gültige IPv4-Adresse sein.\",\n \"ipv6\": \"Das Feld :attribute muss eine gültige IPv6-Adresse sein.\",\n \"json\": \"Das Feld :attribute muss eine gültige JSON-Zeichenfolge sein.\",\n \"max\": {\n \"array\": \"Das Feld :attribute darf nicht mehr als :arg0 Elemente enthalten.\",\n \"numeric\": \"Das Feld :attribute darf nicht größer als :arg0 sein.\",\n \"string\": \"Das Feld :attribute darf nicht länger als :arg0 Zeichen sein.\"\n },\n \"min\": {\n \"array\": \"Das Feld :attribute muss mindestens :arg0 Elemente enthalten.\",\n \"numeric\": \"Das Feld :attribute muss mindestens :arg0 sein.\",\n \"string\": \"Das Feld :attribute muss mindestens :arg0 Zeichen lang sein.\"\n },\n \"mimes\": \"Das Feld :attribute muss eine Datei vom Typ :arg0: sein.\",\n \"not_equals\": \"Das Feld :attribute darf nicht gleich :arg0 sein.\",\n \"not_in\": \"Das ausgewählte Feld :attribute darf nicht in :arg0: enthalten sein.\",\n \"not_regex\": \"Das Format von :attribute ist ungültig.\",\n \"number\": \"Das Feld :attribute muss eine Zahl sein.\",\n \"phone_no\": \"Das Feld :attribute muss eine gültige Telefonnummer sein.\",\n \"range\": \"Das Feld :attribute muss zwischen :arg0 und :arg1 liegen.\",\n \"between\": \"Das :attribute muss zwischen :arg0 und :arg1 liegen, beide ausgeschlossen.\",\n \"regex\": \"Das Format von :attribute ist ungültig.\",\n \"required\": \"Das Feld :attribute ist erforderlich.\",\n \"required_if\": \"Das Feld :attribute ist erforderlich, wenn :arg0 gleich :arg1 ist.\",\n \"required_unless\": \"Das Feld :attribute ist erforderlich, es sei denn, :arg0 ist in :arg1: enthalten.\",\n \"required_with\": \"Das Feld :attribute ist erforderlich, wenn eines der Felder :arg0: vorhanden ist.\",\n \"required_with_all\": \"Das Feld :attribute ist erforderlich, wenn :arg0: vorhanden sind.\",\n \"required_without\": \"Das Feld :attribute ist erforderlich, wenn :arg0: nicht vorhanden ist.\",\n \"required_without_all\": \"Das Feld :attribute ist erforderlich, wenn keines der Felder :arg0: vorhanden ist.\",\n \"same\": \"Die Felder :attribute und :arg0 müssen übereinstimmen.\",\n \"size\": \"Das Feld :attribute darf höchstens :arg0 KB groß sein.\",\n \"starts_with\": \"Das Feld :attribute muss mit einem der folgenden Werte beginnen: :arg0\",\n \"string\": \"Das Feld :attribute muss eine Zeichenfolge sein.\",\n \"strength\": \"Das Feld :attribute ist nicht sicher genug.\",\n \"under\": \"Das Feld :attribute muss unter :arg0 liegen.\",\n \"url\": \"Das Format von :attribute ist ungültig.\",\n \"uuid\": \"Das Feld :attribute muss eine gültige UUID sein.\",\n \"unique\": \"Das Feld :attribute wird bereits verwendet.\",\n \"video\": \"Das Feld :attribute muss ein gültiges Video sein.\"\n}\n","export default {\n \"above\": \"El campo :attribute debe estar por encima de :arg0.\",\n \"accepted\": \"El campo :attribute debe ser aceptado.\",\n \"after\": \"El campo :attribute debe ser una fecha posterior a :arg0.\",\n \"alpha\": \"El campo :attribute solo puede contener letras.\",\n \"alpha_dash\": \"El campo :attribute solo puede contener letras, números, guiones y guiones bajos.\",\n \"alpha_numeric\": \"El campo :attribute solo puede contener letras y números.\",\n \"array\": \"El campo :attribute debe ser un arreglo.\",\n \"before\": \"El campo :attribute debe ser una fecha anterior a :arg0.\",\n \"boolean\": \"El campo :attribute debe ser verdadero o falso.\",\n \"confirmed\": \"La confirmación de :attribute no coincide.\",\n \"credit_card\": \"El campo :attribute debe ser un número de tarjeta de crédito válido.\",\n \"cvv\": \"El campo :attribute debe ser un número CVV válido.\",\n \"date\": \"El campo :attribute no es una fecha válida.\",\n \"date_format\": \"El campo :attribute no coincide con el formato :arg0.\",\n \"debit_card\": \"El campo :attribute debe ser un número de tarjeta de débito válido.\",\n \"different\": \"Los campos :attribute y :arg0 deben ser diferentes.\",\n \"dimension\": \"El campo :attribute tiene dimensiones de imagen no válidas.\",\n \"email\": \"El campo :attribute debe ser una dirección de correo electrónico válida.\",\n \"ends_with\": \"El campo :attribute debe terminar con uno de los siguientes valores :arg0:\",\n \"equals\": \"El campo :attribute debe ser igual a :arg0\",\n \"exists\": \"El :attribute seleccionado no es válido.\",\n \"image\": \"El campo :attribute debe ser una imagen válida.\",\n \"in\": \"El :attribute seleccionado debe estar entre :arg0:.\",\n \"includes\": \"El campo :attribute debe contener :arg0:.\",\n \"integer\": \"El campo :attribute debe ser un número entero.\",\n \"ip\": \"El campo :attribute debe ser una dirección IP válida.\",\n \"ipv4\": \"El campo :attribute debe ser una dirección IPv4 válida.\",\n \"ipv6\": \"El campo :attribute debe ser una dirección IPv6 válida.\",\n \"json\": \"El campo :attribute debe ser una cadena JSON válida.\",\n \"max\": {\n \"array\": \"El campo :attribute no debe tener más de :arg0 elementos.\",\n \"numeric\": \"El campo :attribute no debe ser mayor que :arg0.\",\n \"string\": \"El campo :attribute no debe tener más de :arg0 caracteres.\"\n },\n \"min\": {\n \"array\": \"El campo :attribute debe tener al menos :arg0 elementos.\",\n \"numeric\": \"El campo :attribute debe ser al menos :arg0.\",\n \"string\": \"El campo :attribute debe tener al menos :arg0 caracteres.\"\n },\n \"mimes\": \"El campo :attribute debe ser un archivo de tipo :arg0:.\",\n \"not_equals\": \"El campo :attribute no debe ser igual a :arg0\",\n \"not_in\": \"El :attribute seleccionado no debe estar entre :arg0:.\",\n \"not_regex\": \"El formato de :attribute no es válido.\",\n \"number\": \"El campo :attribute debe ser un número.\",\n \"phone_no\": \"El campo :attribute debe ser un número de teléfono válido.\",\n \"range\": \"El campo :attribute debe estar entre :arg0 y :arg1.\",\n \"between\": \"El :attribute debe estar entre :arg0 y :arg1, ambos exclusivos.\",\n \"regex\": \"El formato de :attribute no es válido.\",\n \"required\": \"El campo :attribute es obligatorio.\",\n \"required_if\": \"El campo :attribute es obligatorio cuando :arg0 es :arg1.\",\n \"required_unless\": \"El campo :attribute es obligatorio a menos que :arg0 esté en :arg1:.\",\n \"required_with\": \"El campo :attribute es obligatorio cuando alguno de :arg0: está presente.\",\n \"required_with_all\": \"El campo :attribute es obligatorio cuando :arg0: están presentes.\",\n \"required_without\": \"El campo :attribute es obligatorio cuando :arg0: no está presente.\",\n \"required_without_all\": \"El campo :attribute es obligatorio cuando ninguno de :arg0: está presente.\",\n \"same\": \"Los campos :attribute y :arg0 deben coincidir.\",\n \"size\": \"El campo :attribute debe ser :arg0 KB o menos.\",\n \"starts_with\": \"El campo :attribute debe comenzar con uno de los siguientes valores :arg0\",\n \"string\": \"El campo :attribute debe ser una cadena de texto.\",\n \"strength\": \"El campo :attribute no es lo suficientemente seguro.\",\n \"under\": \"El campo :attribute debe ser menor que :arg0.\",\n \"url\": \"El formato de :attribute no es válido.\",\n \"uuid\": \"El campo :attribute debe ser un UUID válido.\",\n \"unique\": \"El campo :attribute ya ha sido registrado.\",\n \"video\": \"El campo :attribute debe ser un video válido.\"\n}\n","export default{\n \"above\": \"Le champ :attribute doit être supérieur à :arg0.\",\n \"accepted\": \"Le champ :attribute doit être accepté.\",\n \"after\": \"Le champ :attribute doit être une date postérieure à :arg0.\",\n \"alpha\": \"Le champ :attribute ne peut contenir que des lettres.\",\n \"alpha_dash\": \"Le champ :attribute ne peut contenir que des lettres, des chiffres, des tirets et des underscores.\",\n \"alpha_numeric\": \"Le champ :attribute ne peut contenir que des lettres et des chiffres.\",\n \"array\": \"Le champ :attribute doit être un tableau.\",\n \"before\": \"Le champ :attribute doit être une date antérieure à :arg0.\",\n \"boolean\": \"Le champ :attribute doit être vrai ou faux.\",\n \"confirmed\": \"La confirmation de :attribute ne correspond pas.\",\n \"credit_card\": \"Le champ :attribute doit être un numéro de carte de crédit valide.\",\n \"cvv\": \"Le champ :attribute doit être un numéro CVV valide.\",\n \"date\": \"Le champ :attribute n'est pas une date valide.\",\n \"date_format\": \"Le champ :attribute ne correspond pas au format :arg0.\",\n \"debit_card\": \"Le champ :attribute doit être un numéro de carte de débit valide.\",\n \"different\": \"Les champs :attribute et :arg0 doivent être différents.\",\n \"dimension\": \"Le champ :attribute a des dimensions d'image non valides.\",\n \"email\": \"Le champ :attribute doit être une adresse e-mail valide.\",\n \"ends_with\": \"Le champ :attribute doit se terminer par l'une des valeurs suivantes :arg0:\",\n \"equals\": \"Le champ :attribute doit être égal à :arg0\",\n \"exists\": \"Le champ :attribute sélectionné n'est pas valide.\",\n \"image\": \"Le champ :attribute doit être une image valide.\",\n \"in\": \"Le champ :attribute sélectionné doit figurer parmi :arg0:.\",\n \"includes\": \"Le champ :attribute doit contenir :arg0:.\",\n \"integer\": \"Le champ :attribute doit être un entier.\",\n \"ip\": \"Le champ :attribute doit être une adresse IP valide.\",\n \"ipv4\": \"Le champ :attribute doit être une adresse IPv4 valide.\",\n \"ipv6\": \"Le champ :attribute doit être une adresse IPv6 valide.\",\n \"json\": \"Le champ :attribute doit être une chaîne JSON valide.\",\n \"max\": {\n \"array\": \"Le champ :attribute ne peut pas avoir plus de :arg0 éléments.\",\n \"numeric\": \"Le champ :attribute ne peut pas être supérieur à :arg0.\",\n \"string\": \"Le champ :attribute ne peut pas dépasser :arg0 caractères.\"\n },\n \"min\": {\n \"array\": \"Le champ :attribute doit contenir au moins :arg0 éléments.\",\n \"numeric\": \"Le champ :attribute doit être d'au moins :arg0.\",\n \"string\": \"Le champ :attribute doit contenir au moins :arg0 caractères.\"\n },\n \"mimes\": \"Le champ :attribute doit être un fichier de type :arg0:.\",\n \"not_equals\": \"Le champ :attribute ne doit pas être égal à :arg0\",\n \"not_in\": \"Le champ :attribute sélectionné ne doit pas figurer parmi :arg0:.\",\n \"not_regex\": \"Le format de :attribute n'est pas valide.\",\n \"number\": \"Le champ :attribute doit être un nombre.\",\n \"phone_no\": \"Le champ :attribute doit être un numéro de téléphone valide.\",\n \"range\": \"Le champ :attribute doit être compris entre :arg0 et :arg1.\",\n \"between\": \"Le :attribute doit être compris entre :arg0 et :arg1, exclusivement.\",\n \"regex\": \"Le format de :attribute n'est pas valide.\",\n \"required\": \"Le champ :attribute est obligatoire.\",\n \"required_if\": \"Le champ :attribute est obligatoire lorsque :arg0 est :arg1.\",\n \"required_unless\": \"Le champ :attribute est obligatoire à moins que :arg0 ne soit dans :arg1:.\",\n \"required_with\": \"Le champ :attribute est obligatoire lorsque l'un des champs :arg0: est présent.\",\n \"required_with_all\": \"Le champ :attribute est obligatoire lorsque :arg0: sont présents.\",\n \"required_without\": \"Le champ :attribute est obligatoire lorsque :arg0: n'est pas présent.\",\n \"required_without_all\": \"Le champ :attribute est obligatoire lorsque aucun des champs :arg0: n'est présent.\",\n \"same\": \"Les champs :attribute et :arg0 doivent correspondre.\",\n \"size\": \"Le champ :attribute doit faire :arg0 Ko ou moins.\",\n \"starts_with\": \"Le champ :attribute doit commencer par l'une des valeurs suivantes :arg0\",\n \"string\": \"Le champ :attribute doit être une chaîne de caractères.\",\n \"strength\": \"Le champ :attribute n'est pas assez sécurisé.\",\n \"under\": \"Le champ :attribute doit être inférieur à :arg0.\",\n \"url\": \"Le format de :attribute n'est pas valide.\",\n \"uuid\": \"Le champ :attribute doit être un UUID valide.\",\n \"unique\": \"Le champ :attribute est déjà utilisé.\",\n \"video\": \"Le champ :attribute doit être une vidéo valide.\"\n}\n","export default {\n \"above\": \":attribute, :arg0 से अधिक होना चाहिए।\",\n \"accepted\": \":attribute को स्वीकार करना आवश्यक है।\",\n \"after\": \":attribute की तारीख :arg0 के बाद की होनी चाहिए।\",\n \"alpha\": \":attribute में केवल अक्षर होने चाहिए।\",\n \"alpha_dash\": \":attribute में केवल अक्षर, अंक, डैश (-) और अंडरस्कोर (_) होने चाहिए।\",\n \"alpha_numeric\": \":attribute में केवल अक्षर और अंक होने चाहिए।\",\n \"array\": \":attribute एक ऐरे (array) होना चाहिए।\",\n \"before\": \":attribute की तारीख :arg0 से पहले की होनी चाहिए।\",\n \"boolean\": \":attribute का मान true या false होना चाहिए।\",\n \"confirmed\": \":attribute की पुष्टि मेल नहीं खाती।\",\n \"credit_card\": \":attribute एक मान्य क्रेडिट कार्ड नंबर होना चाहिए।\",\n \"cvv\": \":attribute एक मान्य CVV नंबर होना चाहिए।\",\n \"date\": \":attribute एक मान्य तारीख नहीं है।\",\n \"date_format\": \":attribute प्रारूप :arg0 से मेल नहीं खाता।\",\n \"debit_card\": \":attribute एक मान्य डेबिट कार्ड नंबर होना चाहिए।\",\n \"different\": \":attribute और :arg0 अलग-अलग होने चाहिए।\",\n \"dimension\": \":attribute की इमेज डाइमेंशन मान्य नहीं है।\",\n \"email\": \":attribute एक मान्य ईमेल पता होना चाहिए।\",\n \"ends_with\": \":attribute निम्न में से किसी एक के साथ समाप्त होना चाहिए: :arg0:\",\n \"equals\": \":attribute का मान :arg0 के बराबर होना चाहिए।\",\n \"exists\": \"चयनित :attribute मान्य नहीं है।\",\n \"image\": \":attribute एक मान्य इमेज होनी चाहिए।\",\n \"in\": \"चयनित :attribute, :arg0: में से एक होना चाहिए।\",\n \"includes\": \":attribute में :arg0: शामिल होना चाहिए।\",\n \"integer\": \":attribute एक पूर्णांक (integer) होना चाहिए।\",\n \"ip\": \":attribute एक मान्य IP पता होना चाहिए।\",\n \"ipv4\": \":attribute एक मान्य IPv4 पता होना चाहिए।\",\n \"ipv6\": \":attribute एक मान्य IPv6 पता होना चाहिए।\",\n \"json\": \":attribute एक मान्य JSON स्ट्रिंग होनी चाहिए।\",\n \"max\": {\n \"array\": \":attribute में :arg0 से अधिक आइटम नहीं होने चाहिए।\",\n \"numeric\": \":attribute, :arg0 से अधिक नहीं होना चाहिए।\",\n \"string\": \":attribute, :arg0 वर्णों से अधिक नहीं होना चाहिए।\"\n },\n \"min\": {\n \"array\": \":attribute में कम से कम :arg0 आइटम होने चाहिए।\",\n \"numeric\": \":attribute कम से कम :arg0 होना चाहिए।\",\n \"string\": \":attribute में कम से कम :arg0 वर्ण होने चाहिए।\"\n },\n \"mimes\": \":attribute, :arg0: प्रकार की फ़ाइल होनी चाहिए।\",\n \"not_equals\": \":attribute का मान :arg0 के बराबर नहीं होना चाहिए।\",\n \"not_in\": \"चयनित :attribute, :arg0: में से नहीं होना चाहिए।\",\n \"not_regex\": \":attribute का प्रारूप अमान्य है।\",\n \"number\": \":attribute एक संख्या होनी चाहिए।\",\n \"phone_no\": \":attribute एक मान्य फ़ोन नंबर होना चाहिए।\",\n \"range\": \":attribute, :arg0 और :arg1 के बीच होना चाहिए।\",\n \"between\": \":attribute अवश्य :arg0 और :arg1 के बीच होना चाहिए, दोनों को छोड़कर।\",\n \"regex\": \":attribute का प्रारूप अमान्य है।\",\n \"required\": \":attribute फ़ील्ड आवश्यक है।\",\n \"required_if\": \"जब :arg0, :arg1 हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_unless\": \":attribute फ़ील्ड आवश्यक है, जब तक :arg0, :arg1: में न हो।\",\n \"required_with\": \"जब :arg0: में से कोई मौजूद हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_with_all\": \"जब :arg0: मौजूद हों, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_without\": \"जब :arg0: मौजूद न हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_without_all\": \"जब :arg0: में से कोई भी मौजूद न हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"same\": \":attribute और :arg0 एक समान होने चाहिए।\",\n \"size\": \":attribute अधिकतम :arg0 KB का होना चाहिए।\",\n \"starts_with\": \":attribute निम्न में से किसी एक से शुरू होना चाहिए: :arg0\",\n \"string\": \":attribute एक स्ट्रिंग (string) होनी चाहिए।\",\n \"strength\": \":attribute पर्याप्त मज़बूत नहीं है।\",\n \"under\": \":attribute, :arg0 से कम होना चाहिए।\",\n \"url\": \":attribute का प्रारूप अमान्य है।\",\n \"uuid\": \":attribute एक मान्य UUID होना चाहिए।\",\n \"unique\": \":attribute पहले से ही उपयोग में है।\",\n \"video\": \":attribute एक मान्य वीडियो होनी चाहिए।\"\n}\n","export default {\r\n \"above\": \":attribute অবশ্যই :arg0-এর বেশি হতে হবে।\",\r\n \"accepted\": \":attribute অবশ্যই গ্রহণ করতে হবে।\",\r\n \"after\": \":attribute অবশ্যই :arg0-এর পরের একটি তারিখ হতে হবে।\",\r\n \"alpha\": \":attribute-এ শুধুমাত্র অক্ষর থাকতে পারে।\",\r\n \"alpha_dash\": \":attribute-এ শুধুমাত্র অক্ষর, সংখ্যা, ড্যাশ (-) এবং আন্ডারস্কোর (_) থাকতে পারে।\",\r\n \"alpha_numeric\": \":attribute-এ শুধুমাত্র অক্ষর এবং সংখ্যা থাকতে পারে।\",\r\n \"array\": \":attribute অবশ্যই একটি অ্যারে (array) হতে হবে।\",\r\n \"before\": \":attribute অবশ্যই :arg0-এর আগের একটি তারিখ হতে হবে।\",\r\n \"boolean\": \":attribute ফিল্ডটি অবশ্যই true অথবা false হতে হবে।\",\r\n \"confirmed\": \":attribute কনফার্মেশন মিলছে না।\",\r\n \"credit_card\": \":attribute অবশ্যই একটি বৈধ ক্রেডিট কার্ড নম্বর হতে হবে।\",\r\n \"cvv\": \":attribute অবশ্যই একটি বৈধ CVV নম্বর হতে হবে।\",\r\n \"date\": \":attribute একটি বৈধ তারিখ নয়।\",\r\n \"date_format\": \":attribute ফরম্যাট :arg0-এর সাথে মিলছে না।\",\r\n \"debit_card\": \":attribute অবশ্যই একটি বৈধ ডেবিট কার্ড নম্বর হতে হবে।\",\r\n \"different\": \":attribute এবং :arg0 অবশ্যই আলাদা হতে হবে।\",\r\n \"dimension\": \":attribute-এর ইমেজ ডাইমেনশন সঠিক নয়।\",\r\n \"email\": \":attribute অবশ্যই একটি বৈধ ইমেইল ঠিকানা হতে হবে।\",\r\n \"ends_with\": \":attribute অবশ্যই নিম্নলিখিত :arg0: এর মধ্যে যেকোনো একটি দিয়ে শেষ হতে হবে\",\r\n \"equals\": \":attribute অবশ্যই :arg0-এর সমান হতে হবে\",\r\n \"exists\": \"নির্বাচিত :attribute অবৈধ।\",\r\n \"image\": \":attribute অবশ্যই একটি বৈধ ইমেজ হতে হবে।\",\r\n \"in\": \"নির্বাচিত :attribute অবশ্যই :arg0:-এর মধ্যে থাকতে হবে।\",\r\n \"includes\": \":attribute-তে অবশ্যই :arg0: থাকতে হবে।\",\r\n \"integer\": \":attribute অবশ্যই একটি পূর্ণসংখ্যা (integer) হতে হবে।\",\r\n \"ip\": \":attribute অবশ্যই একটি বৈধ IP ঠিকানা হতে হবে।\",\r\n \"ipv4\": \":attribute অবশ্যই একটি বৈধ IPv4 ঠিকানা হতে হবে।\",\r\n \"ipv6\": \":attribute অবশ্যই একটি বৈধ IPv6 ঠিকানা হতে হবে।\",\r\n \"json\": \":attribute অবশ্যই একটি বৈধ JSON স্ট্রিং হতে হবে।\",\r\n \"max\": {\r\n \"array\": \":attribute-এ :arg0-এর বেশি আইটেম থাকতে পারবে না।\",\r\n \"numeric\": \":attribute অবশ্যই :arg0-এর বেশি হতে পারবে না।\",\r\n \"string\": \":attribute অবশ্যই :arg0 অক্ষরের বেশি হতে পারবে না।\"\r\n },\r\n \"min\": {\r\n \"array\": \":attribute-এ অবশ্যই কমপক্ষে :arg0টি আইটেম থাকতে হবে।\",\r\n \"numeric\": \":attribute অবশ্যই কমপক্ষে :arg0 হতে হবে।\",\r\n \"string\": \":attribute অবশ্যই কমপক্ষে :arg0 অক্ষরের হতে হবে।\"\r\n },\r\n \"mimes\": \":attribute অবশ্যই :arg0: টাইপের একটি ফাইল হতে হবে।\",\r\n \"not_equals\": \":attribute অবশ্যই :arg0-এর সমান হতে পারবে না\",\r\n \"not_in\": \"নির্বাচিত :attribute অবশ্যই :arg0:-এর মধ্যে থাকতে পারবে না।\",\r\n \"not_regex\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"number\": \":attribute অবশ্যই একটি সংখ্যা হতে হবে।\",\r\n \"phone_no\": \":attribute অবশ্যই একটি বৈধ ফোন নম্বর হতে হবে।\",\r\n \"range\": \":attribute অবশ্যই :arg0 এবং :arg1-এর মধ্যে হতে হবে।\",\r\n \"between\": \":attribute অবশ্যই :arg0 এবং :arg1-এর মধ্যে হতে হবে, উভয়ই বাদ দিয়ে।\",\r\n \"regex\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"required\": \":attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_if\": \"যখন :arg0 হলো :arg1, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_unless\": \":attribute ফিল্ডটি আবশ্যক, যদি না :arg0, :arg1:-এর মধ্যে থাকে।\",\r\n \"required_with\": \"যখন :arg0: এর মধ্যে যেকোনো একটি উপস্থিত থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_with_all\": \"যখন :arg0: উপস্থিত থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_without\": \"যখন :arg0: উপস্থিত না থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_without_all\": \"যখন :arg0: এর কোনোটিই উপস্থিত না থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"same\": \":attribute এবং :arg0 অবশ্যই মিলতে হবে।\",\r\n \"size\": \":attribute অবশ্যই :arg0 KB অথবা তার কম হতে হবে।\",\r\n \"starts_with\": \":attribute অবশ্যই নিম্নলিখিত :arg0 এর মধ্যে যেকোনো একটি দিয়ে শুরু হতে হবে\",\r\n \"string\": \":attribute অবশ্যই একটি স্ট্রিং (string) হতে হবে।\",\r\n \"strength\": \":attribute যথেষ্ট শক্তিশালী নয়।\",\r\n \"under\": \":attribute অবশ্যই :arg0-এর কম হতে হবে।\",\r\n \"url\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"uuid\": \":attribute অবশ্যই একটি বৈধ UUID হতে হবে।\",\r\n \"unique\": \":attribute ইতিমধ্যে ব্যবহৃত হয়েছে।\",\r\n \"video\": \":attribute অবশ্যই একটি বৈধ ভিডিও হতে হবে।\"\r\n}\r\n","export default {\r\n \"above\": \"O campo :attribute deve estar acima de :arg0.\",\r\n \"accepted\": \"O campo :attribute deve ser aceito.\",\r\n \"after\": \"O campo :attribute deve ser uma data posterior a :arg0.\",\r\n \"alpha\": \"O campo :attribute pode conter apenas letras.\",\r\n \"alpha_dash\": \"O campo :attribute pode conter apenas letras, números, hífens e sublinhados.\",\r\n \"alpha_numeric\": \"O campo :attribute pode conter apenas letras e números.\",\r\n \"array\": \"O campo :attribute deve ser uma matriz (array).\",\r\n \"before\": \"O campo :attribute deve ser uma data anterior a :arg0.\",\r\n \"boolean\": \"O campo :attribute deve ser verdadeiro ou falso.\",\r\n \"confirmed\": \"A confirmação de :attribute não coincide.\",\r\n \"credit_card\": \"O campo :attribute deve ser um número de cartão de crédito válido.\",\r\n \"cvv\": \"O campo :attribute deve ser um número de CVV válido.\",\r\n \"date\": \"O campo :attribute não é uma data válida.\",\r\n \"date_format\": \"O campo :attribute não corresponde ao formato :arg0.\",\r\n \"debit_card\": \"O campo :attribute deve ser um número de cartão de débito válido.\",\r\n \"different\": \"Os campos :attribute e :arg0 devem ser diferentes.\",\r\n \"dimension\": \"O campo :attribute tem dimensões de imagem inválidas.\",\r\n \"email\": \"O campo :attribute deve ser um endereço de e-mail válido.\",\r\n \"ends_with\": \"O campo :attribute deve terminar com um dos seguintes valores :arg0:\",\r\n \"equals\": \"O campo :attribute deve ser igual a :arg0\",\r\n \"exists\": \"O :attribute selecionado é inválido.\",\r\n \"image\": \"O campo :attribute deve ser uma imagem válida.\",\r\n \"in\": \"O :attribute selecionado deve estar entre :arg0:.\",\r\n \"includes\": \"O campo :attribute deve conter :arg0:.\",\r\n \"integer\": \"O campo :attribute deve ser um número inteiro.\",\r\n \"ip\": \"O campo :attribute deve ser um endereço IP válido.\",\r\n \"ipv4\": \"O campo :attribute deve ser um endereço IPv4 válido.\",\r\n \"ipv6\": \"O campo :attribute deve ser um endereço IPv6 válido.\",\r\n \"json\": \"O campo :attribute deve ser uma string JSON válida.\",\r\n \"max\": {\r\n \"array\": \"O campo :attribute não pode ter mais de :arg0 itens.\",\r\n \"numeric\": \"O campo :attribute não pode ser maior que :arg0.\",\r\n \"string\": \"O campo :attribute não pode ter mais de :arg0 caracteres.\"\r\n },\r\n \"min\": {\r\n \"array\": \"O campo :attribute deve ter pelo menos :arg0 itens.\",\r\n \"numeric\": \"O campo :attribute deve ser pelo menos :arg0.\",\r\n \"string\": \"O campo :attribute deve ter pelo menos :arg0 caracteres.\"\r\n },\r\n \"mimes\": \"O campo :attribute deve ser um arquivo do tipo :arg0:.\",\r\n \"not_equals\": \"O campo :attribute não deve ser igual a :arg0\",\r\n \"not_in\": \"O :attribute selecionado não deve estar entre :arg0:.\",\r\n \"not_regex\": \"O formato de :attribute é inválido.\",\r\n \"number\": \"O campo :attribute deve ser um número.\",\r\n \"phone_no\": \"O campo :attribute deve ser um número de telefone válido.\",\r\n \"range\": \"O campo :attribute deve estar entre :arg0 e :arg1.\",\r\n \"between\": \"O campo :attribute deve estar entre :arg0 e :arg1, exclusive.\",\r\n \"regex\": \"O formato de :attribute é inválido.\",\r\n \"required\": \"O campo :attribute é obrigatório.\",\r\n \"required_if\": \"O campo :attribute é obrigatório quando :arg0 é :arg1.\",\r\n \"required_unless\": \"O campo :attribute é obrigatório, a menos que :arg0 esteja em :arg1:.\",\r\n \"required_with\": \"O campo :attribute é obrigatório quando algum de :arg0: está presente.\",\r\n \"required_with_all\": \"O campo :attribute é obrigatório quando :arg0: estão presentes.\",\r\n \"required_without\": \"O campo :attribute é obrigatório quando :arg0: não está presente.\",\r\n \"required_without_all\": \"O campo :attribute é obrigatório quando nenhum de :arg0: está presente.\",\r\n \"same\": \"Os campos :attribute e :arg0 devem coincidir.\",\r\n \"size\": \"O campo :attribute deve ter :arg0 KB ou menos.\",\r\n \"starts_with\": \"O campo :attribute deve começar com um dos seguintes valores :arg0\",\r\n \"string\": \"O campo :attribute deve ser uma string.\",\r\n \"strength\": \"O campo :attribute não é forte o suficiente.\",\r\n \"under\": \"O campo :attribute deve ser menor que :arg0.\",\r\n \"url\": \"O formato de :attribute é inválido.\",\r\n \"uuid\": \"O campo :attribute deve ser um UUID válido.\",\r\n \"unique\": \"O campo :attribute já foi registrado.\",\r\n \"video\": \"O campo :attribute deve ser um vídeo válido.\"\r\n}\r\n","export default {\r\n above: ':attributeは:arg0より大きい必要があります。',\r\n accepted: ':attributeを承認する必要があります。',\r\n after: ':attributeは:arg0より後の日付である必要があります。',\r\n alpha: ':attributeには英字のみ使用できます。',\r\n alpha_dash: ':attributeには英字、数字、ハイフン、アンダースコアのみ使用できます。',\r\n alpha_numeric: ':attributeには英字と数字のみ使用できます。',\r\n array: ':attributeは配列である必要があります。',\r\n before: ':attributeは:arg0より前の日付である必要があります。',\r\n boolean: ':attributeフィールドはtrueまたはfalseである必要があります。',\r\n confirmed: ':attributeの確認が一致しません。',\r\n credit_card: ':attributeは有効なクレジットカード番号である必要があります。',\r\n cvv: ':attributeは有効なCVV番号である必要があります。',\r\n date: ':attributeは有効な日付ではありません。',\r\n date_format: ':attributeはフォーマット:arg0と一致しません。',\r\n debit_card: ':attributeは有効なデビットカード番号である必要があります。',\r\n different: ':attributeと:arg0は異なる必要があります。',\r\n dimension: ':attributeの画像サイズが無効です。',\r\n email: ':attributeは有効なメールアドレスである必要があります。',\r\n ends_with: ':attributeは次のいずれかで終わる必要があります: :arg0',\r\n equals: ':attributeは:arg0と等しい必要があります',\r\n exists: '選択された:attributeは無効です。',\r\n image: ':attributeは有効な画像である必要があります。',\r\n in: '選択された:attributeは:arg0のいずれかである必要があります。',\r\n includes: ':attributeには:arg0を含める必要があります。',\r\n integer: ':attributeは整数である必要があります。',\r\n ip: ':attributeは有効なIPアドレスである必要があります。',\r\n ipv4: ':attributeは有効なIPv4アドレスである必要があります。',\r\n ipv6: ':attributeは有効なIPv6アドレスである必要があります。',\r\n json: ':attributeは有効なJSON文字列である必要があります。',\r\n max: {\r\n array: ':attributeは:arg0個を超える項目を含めることはできません。',\r\n numeric: ':attributeは:arg0より大きくすることはできません。',\r\n string: ':attributeは:arg0文字を超えることはできません。'\r\n },\r\n min: {\r\n array: ':attributeは少なくとも:arg0個の項目を含める必要があります。',\r\n numeric: ':attributeは少なくとも:arg0である必要があります。',\r\n string: ':attributeは少なくとも:arg0文字である必要があります。'\r\n },\r\n mimes: ':attributeは:arg0タイプのファイルである必要があります。',\r\n not_equals: ':attributeは:arg0と等しくない必要があります',\r\n not_in: '選択された:attributeは:arg0に含まれてはいけません。',\r\n not_regex: ':attributeの形式が無効です。',\r\n number: ':attributeは数値である必要があります。',\r\n phone_no: ':attributeは有効な電話番号である必要があります。',\r\n range: ':attributeは:arg0から:arg1の間である必要があります。',\r\n between: ':attributeは:arg0と:arg1の間(両端を含まない)である必要があります。',\r\n regex: ':attributeの形式が無効です。',\r\n required: ':attributeフィールドは必須です。',\r\n required_if: ':arg0が:arg1の場合、:attributeフィールドは必須です。',\r\n required_unless: ':arg0が:arg1に含まれない限り、:attributeフィールドは必須です。',\r\n required_with: ':arg0のいずれかが存在する場合、:attributeフィールドは必須です。',\r\n required_with_all: ':arg0が存在する場合、:attributeフィールドは必須です。',\r\n required_without: ':arg0が存在しない場合、:attributeフィールドは必須です。',\r\n required_without_all: ':arg0のいずれも存在しない場合、:attributeフィールドは必須です。',\r\n same: ':attributeと:arg0は一致する必要があります。',\r\n size: ':attributeは:arg0KB以下である必要があります。',\r\n starts_with: ':attributeは次のいずれかで始まる必要があります: :arg0',\r\n string: ':attributeは文字列である必要があります。',\r\n strength: ':attributeの強度が十分ではありません。',\r\n under: ':attributeは:arg0未満である必要があります。',\r\n url: ':attributeの形式が無効です。',\r\n uuid: ':attributeは有効なUUIDである必要があります。',\r\n unique: ':attributeはすでに使用されています。',\r\n video: ':attributeは有効な動画である必要があります。',\r\n}\r\n","export default {\r\n above: ':attributeは:arg0より大きい必要があります。',\r\n accepted: ':attributeを承認する必要があります。',\r\n after: ':attributeは:arg0より後の日付である必要があります。',\r\n alpha: ':attributeには英字のみ使用できます。',\r\n alpha_dash: ':attributeには英字、数字、ハイフン、アンダースコアのみ使用できます。',\r\n alpha_numeric: ':attributeには英字と数字のみ使用できます。',\r\n array: ':attributeは配列である必要があります。',\r\n before: ':attributeは:arg0より前の日付である必要があります。',\r\n boolean: ':attributeフィールドはtrueまたはfalseである必要があります。',\r\n confirmed: ':attributeの確認が一致しません。',\r\n credit_card: ':attributeは有効なクレジットカード番号である必要があります。',\r\n cvv: ':attributeは有効なCVV番号である必要があります。',\r\n date: ':attributeは有効な日付ではありません。',\r\n date_format: ':attributeはフォーマット:arg0と一致しません。',\r\n debit_card: ':attributeは有効なデビットカード番号である必要があります。',\r\n different: ':attributeと:arg0は異なる必要があります。',\r\n dimension: ':attributeの画像サイズが無効です。',\r\n email: ':attributeは有効なメールアドレスである必要があります。',\r\n ends_with: ':attributeは次のいずれかで終わる必要があります: :arg0',\r\n equals: ':attributeは:arg0と等しい必要があります',\r\n exists: '選択された:attributeは無効です。',\r\n image: ':attributeは有効な画像である必要があります。',\r\n in: '選択された:attributeは:arg0のいずれかである必要があります。',\r\n includes: ':attributeには:arg0を含める必要があります。',\r\n integer: ':attributeは整数である必要があります。',\r\n ip: ':attributeは有効なIPアドレスである必要があります。',\r\n ipv4: ':attributeは有効なIPv4アドレスである必要があります。',\r\n ipv6: ':attributeは有効なIPv6アドレスである必要があります。',\r\n json: ':attributeは有効なJSON文字列である必要があります。',\r\n max: {\r\n array: ':attributeは:arg0個を超える項目を含めることはできません。',\r\n numeric: ':attributeは:arg0より大きくすることはできません。',\r\n string: ':attributeは:arg0文字を超えることはできません。'\r\n },\r\n min: {\r\n array: ':attributeは少なくとも:arg0個の項目を含める必要があります。',\r\n numeric: ':attributeは少なくとも:arg0である必要があります。',\r\n string: ':attributeは少なくとも:arg0文字である必要があります。'\r\n },\r\n mimes: ':attributeは:arg0タイプのファイルである必要があります。',\r\n not_equals: ':attributeは:arg0と等しくない必要があります',\r\n not_in: '選択された:attributeは:arg0に含まれてはいけません。',\r\n not_regex: ':attributeの形式が無効です。',\r\n number: ':attributeは数値である必要があります。',\r\n phone_no: ':attributeは有効な電話番号である必要があります。',\r\n range: ':attributeは:arg0から:arg1の間である必要があります。',\r\n between: ':attributeは:arg0と:arg1の間(両端を含まない)である必要があります。',\r\n regex: ':attributeの形式が無効です。',\r\n required: ':attributeフィールドは必須です。',\r\n required_if: ':arg0が:arg1の場合、:attributeフィールドは必須です。',\r\n required_unless: ':arg0が:arg1に含まれない限り、:attributeフィールドは必須です。',\r\n required_with: ':arg0のいずれかが存在する場合、:attributeフィールドは必須です。',\r\n required_with_all: ':arg0が存在する場合、:attributeフィールドは必須です。',\r\n required_without: ':arg0が存在しない場合、:attributeフィールドは必須です。',\r\n required_without_all: ':arg0のいずれも存在しない場合、:attributeフィールドは必須です。',\r\n same: ':attributeと:arg0は一致する必要があります。',\r\n size: ':attributeは:arg0KB以下である必要があります。',\r\n starts_with: ':attributeは次のいずれかで始まる必要があります: :arg0',\r\n string: ':attributeは文字列である必要があります。',\r\n strength: ':attributeの強度が十分ではありません。',\r\n under: ':attributeは:arg0未満である必要があります。',\r\n url: ':attributeの形式が無効です。',\r\n uuid: ':attributeは有効なUUIDである必要があります。',\r\n unique: ':attributeはすでに使用されています。',\r\n video: ':attributeは有効な動画である必要があります。',\r\n}\r\n","export default {\r\n above: 'Поле :attribute должно быть больше :arg0.',\r\n accepted: 'Поле :attribute должно быть принято.',\r\n after: 'Поле :attribute должно быть датой позже :arg0.',\r\n alpha: 'Поле :attribute может содержать только буквы.',\r\n alpha_dash: 'Поле :attribute может содержать только буквы, цифры, дефисы и подчёркивания.',\r\n alpha_numeric: 'Поле :attribute может содержать только буквы и цифры.',\r\n array: 'Поле :attribute должно быть массивом.',\r\n before: 'Поле :attribute должно быть датой раньше :arg0.',\r\n boolean: 'Поле :attribute должно быть true или false.',\r\n confirmed: 'Подтверждение :attribute не совпадает.',\r\n credit_card: 'Поле :attribute должно быть действительным номером кредитной карты.',\r\n cvv: 'Поле :attribute должно быть действительным номером CVV.',\r\n date: 'Поле :attribute не является допустимой датой.',\r\n date_format: 'Поле :attribute не соответствует формату :arg0.',\r\n debit_card: 'Поле :attribute должно быть действительным номером дебетовой карты.',\r\n different: 'Поля :attribute и :arg0 должны отличаться.',\r\n dimension: 'Поле :attribute имеет недопустимые размеры изображения.',\r\n email: 'Поле :attribute должно быть действительным адресом электронной почты.',\r\n ends_with: 'Поле :attribute должно заканчиваться одним из следующих значений: :arg0',\r\n equals: 'Поле :attribute должно быть равно :arg0',\r\n exists: 'Выбранное значение :attribute недопустимо.',\r\n image: 'Поле :attribute должно быть действительным изображением.',\r\n in: 'Выбранное значение :attribute должно входить в :arg0.',\r\n includes: 'Поле :attribute должно содержать :arg0.',\r\n integer: 'Поле :attribute должно быть целым числом.',\r\n ip: 'Поле :attribute должно быть действительным IP-адресом.',\r\n ipv4: 'Поле :attribute должно быть действительным адресом IPv4.',\r\n ipv6: 'Поле :attribute должно быть действительным адресом IPv6.',\r\n json: 'Поле :attribute должно быть допустимой строкой JSON.',\r\n max: {\r\n array: 'Поле :attribute не должно содержать более :arg0 элементов.',\r\n numeric: 'Поле :attribute не должно быть больше :arg0.',\r\n string: 'Поле :attribute не должно быть длиннее :arg0 символов.'\r\n },\r\n min: {\r\n array: 'Поле :attribute должно содержать не менее :arg0 элементов.',\r\n numeric: 'Поле :attribute должно быть не менее :arg0.',\r\n string: 'Поле :attribute должно содержать не менее :arg0 символов.'\r\n },\r\n mimes: 'Поле :attribute должно быть файлом типа :arg0.',\r\n not_equals: 'Поле :attribute не должно быть равно :arg0',\r\n not_in: 'Выбранное значение :attribute не должно входить в :arg0.',\r\n not_regex: 'Формат поля :attribute недопустим.',\r\n number: 'Поле :attribute должно быть числом.',\r\n phone_no: 'Поле :attribute должно быть действительным номером телефона.',\r\n range: 'Поле :attribute должно быть между :arg0 и :arg1.',\r\n between: 'Поле :attribute должно быть между :arg0 и :arg1, не включая границы.',\r\n regex: 'Формат поля :attribute недопустим.',\r\n required: 'Поле :attribute обязательно для заполнения.',\r\n required_if: 'Поле :attribute обязательно, если :arg0 равно :arg1.',\r\n required_unless: 'Поле :attribute обязательно, если :arg0 не входит в :arg1.',\r\n required_with: 'Поле :attribute обязательно, если присутствует одно из :arg0.',\r\n required_with_all: 'Поле :attribute обязательно, если присутствуют :arg0.',\r\n required_without: 'Поле :attribute обязательно, если :arg0 отсутствует.',\r\n required_without_all: 'Поле :attribute обязательно, если ни одно из :arg0 не присутствует.',\r\n same: 'Поля :attribute и :arg0 должны совпадать.',\r\n size: 'Поле :attribute должно быть :arg0 КБ или меньше.',\r\n starts_with: 'Поле :attribute должно начинаться с одного из следующих значений: :arg0',\r\n string: 'Поле :attribute должно быть строкой.',\r\n strength: 'Поле :attribute недостаточно надёжно.',\r\n under: 'Поле :attribute должно быть меньше :arg0.',\r\n url: 'Формат поля :attribute недопустим.',\r\n uuid: 'Поле :attribute должно быть действительным UUID.',\r\n unique: 'Значение поля :attribute уже занято.',\r\n video: 'Поле :attribute должно быть действительным видео.',\r\n}\r\n","import { TranslateLoader } from \"@ngx-translate/core\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nimport en from '../i18n/en';\r\nimport de from '../i18n/de';\r\nimport es from '../i18n/es';\r\nimport fr from '../i18n/fr';\r\nimport hi from '../i18n/hi';\r\nimport bn from '../i18n/bn';\r\nimport pt from '../i18n/pt';\r\nimport ja from '../i18n/ja';\r\nimport zh from '../i18n/zh';\r\nimport ru from '../i18n/ru';\r\n\r\nconst BUILT_IN_TRANSLATIONS: Record<string, any> = { en, de, es, fr, hi, bn, pt, ja, zh, ru }\r\n\r\nexport class InlineTranslateLoader implements TranslateLoader {\r\n\r\n private translations : Record<string, any> = {};\r\n\r\n constructor(\r\n private mergeTranslations: Record<string, any> = {},\r\n private replaceTranslations: Record<string, any> = {}\r\n ) { this.init() }\r\n\r\n\r\n init() {\r\n this.translations = { ...BUILT_IN_TRANSLATIONS };\r\n\r\n // Full replace happens first — wipes out all existing keys for that lang\r\n for (const lang of Object.keys(this.replaceTranslations)) {\r\n this.translations[lang] = { ...this.replaceTranslations[lang] };\r\n }\r\n\r\n // Merge happens second — adds new languages, or patches individual keys\r\n for (const lang of Object.keys(this.mergeTranslations)) {\r\n this.translations[lang] = {\r\n ...(this.translations[lang] || {}),\r\n ...this.mergeTranslations[lang]\r\n };\r\n }\r\n }\r\n\r\n getTranslation(lang: string): Observable<any> {\r\n return of(this.translations[lang] ?? this.translations['en']);\r\n }\r\n}\r\n","import { FormGroupDirective, NgForm } from '@angular/forms';\nimport { Directive, Inject, Input, Optional } from '@angular/core';\nimport { ErrorTriggerState, FormGroupDirective2, NgForm2 } from '../../interface';\n\n@Directive({\n selector: 'form[ErrorTriggerOn]'\n})\nexport class ErrorTriggerOnDirective {\n\n constructor(\n @Optional() @Inject(FormGroupDirective) private FormGroupDirective: FormGroupDirective2,\n @Optional() @Inject(NgForm) private NgForm: NgForm2\n ) { }\n\n @Input('ErrorTriggerOn')\n set message(triggerState: ErrorTriggerState[]) {\n this.NgForm && (this.NgForm.errorTriggerOn = triggerState)\n this.FormGroupDirective && (this.FormGroupDirective.errorTriggerOn = triggerState)\n }\n}\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RuleModule } from './rule/rule.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgAbsoluteValidatorComponent } from './ng-absolute-validator.component';\r\nimport { NgAbsoluteValidatorService } from './ng-absolute-validator.service';\r\nimport { ConfigInterface, LIB_CONFIG } from './config-interface';\r\nimport { ReactiveValidator } from './services/reactive.validate';\r\nimport { HttpRequestService } from './services/http.request.service';\r\nimport { NativeElementDirective } from './directive/native-element/native-element.directive';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { DEFAULT_LOCALE_LANG, SUPPORTED_LOCALE_LANGS } from './constant';\r\nimport { InlineTranslateLoader } from './transator.loader';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { ErrorTriggerOnDirective } from './directive/error-trigger/error-trigger-on.directive';\r\n\r\nexport function TranslateLoaderFactory(config: ConfigInterface) {\r\n return new InlineTranslateLoader(config?.translations, config?.replaceTranslations);\r\n}\r\n\r\nexport function appInitializerFactory(translate: TranslateService, config: ConfigInterface): () => Promise<any> {\r\n return () => {\r\n const builtIn = SUPPORTED_LOCALE_LANGS\r\n const supported = config?.supportedLanguages?.length ? config.supportedLanguages : builtIn;\r\n const browserLang = translate.getBrowserLang();\r\n const langToUse = browserLang && supported.includes(browserLang)\r\n ? browserLang\r\n : (config?.defaultLanguage || DEFAULT_LOCALE_LANG);\r\n\r\n return firstValueFrom(translate.use(langToUse));\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n NgAbsoluteValidatorComponent,\r\n NativeElementDirective,\r\n ErrorTriggerOnDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n RuleModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: TranslateLoaderFactory,\r\n deps: [LIB_CONFIG]\r\n },\r\n defaultLanguage: DEFAULT_LOCALE_LANG\r\n })\r\n ],\r\n providers: [\r\n NgAbsoluteValidatorService,\r\n ReactiveValidator,\r\n HttpRequestService,\r\n {\r\n provide: LIB_CONFIG,\r\n useValue: {}\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: appInitializerFactory,\r\n deps: [TranslateService, LIB_CONFIG],\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n RuleModule,\r\n NgAbsoluteValidatorComponent,\r\n NativeElementDirective,\r\n ErrorTriggerOnDirective,\r\n TranslateModule\r\n ]\r\n})\r\n\r\nexport class NgAbsoluteValidatorModule {\r\n static forRoot(config: ConfigInterface = {}): ModuleWithProviders<NgAbsoluteValidatorModule> {\r\n return {\r\n ngModule: NgAbsoluteValidatorModule,\r\n providers: [\r\n { provide: LIB_CONFIG, useValue: config },\r\n NgAbsoluteValidatorService,\r\n ReactiveValidator\r\n ]\r\n };\r\n }\r\n}\r\n\r\n","import { AbstractControl, FormGroupDirective, NgForm } from \"@angular/forms\";\r\nimport { SUPPORTED_LOCALE_LANGS } from \"./constant\";\r\n\r\nexport interface AbstractControl2 extends AbstractControl {\r\n [key: string]: any;\r\n}\r\n\r\nexport type ErrorTriggerState = 'touched' | 'dirty' | 'submit' | 'always'\r\n\r\nexport type FormGroupDirective2 = FormGroupDirective & {\r\n errorTriggerOn: ErrorTriggerState[];\r\n};\r\n\r\nexport type NgForm2 = NgForm & {\r\n errorTriggerOn: ErrorTriggerState[];\r\n};\r\n\r\nexport interface HttpRequestArgs {\r\n url: string,\r\n field?: string,\r\n request?: object,\r\n params?: object,\r\n method?: 'GET' | 'POST'\r\n}\r\n\r\nexport type LocaleLang = typeof SUPPORTED_LOCALE_LANGS[number];\r\n\r\nexport const LOCALE_LANG_LABELS: Record<LocaleLang, string> = {\r\n en: 'English',\r\n es: 'Español',\r\n fr: 'Français',\r\n de: 'Deutsch',\r\n hi: 'हिन्दी',\r\n bn: 'বাংলা',\r\n pt: 'Português',\r\n ar: 'العربية',\r\n ja: '日本語',\r\n zh: '中文',\r\n ru: 'Русский',\r\n};\r\n\r\nexport interface LocalizedMessage {\r\n en?: string;\r\n ar?: string;\r\n es?: string;\r\n fr?: string;\r\n de?: string;\r\n hi?: string;\r\n bn?: string;\r\n pt?: string;\r\n ja?: string;\r\n zh?: string;\r\n ru?: string;\r\n [langCode: string]: string | undefined; // allows any additional language code\r\n}\r\n\r\nexport interface LocalizedMessageGroup {\r\n [ruleName: string]: LocalizedMessage | NestedLocalizedMessage\r\n}\r\n\r\nexport interface NestedLocalizedMessage {\r\n array: LocalizedMessage;\r\n numeric: LocalizedMessage;\r\n string: LocalizedMessage;\r\n}\r\n\r\nexport interface ValidationMessages {\r\n above: LocalizedMessage;\r\n accepted: LocalizedMessage;\r\n after: LocalizedMessage;\r\n alpha: LocalizedMessage;\r\n alpha_dash: LocalizedMessage;\r\n alpha_numeric: LocalizedMessage;\r\n array: LocalizedMessage;\r\n before: LocalizedMessage;\r\n boolean: LocalizedMessage;\r\n confirmed: LocalizedMessage;\r\n credit_card: LocalizedMessage;\r\n cvv: LocalizedMessage;\r\n date: LocalizedMessage;\r\n date_format: LocalizedMessage;\r\n debit_card: LocalizedMessage;\r\n different: LocalizedMessage;\r\n dimension: LocalizedMessage;\r\n email: LocalizedMessage;\r\n ends_with: LocalizedMessage;\r\n equals: LocalizedMessage;\r\n between: LocalizedMessage;\r\n exists: LocalizedMessage;\r\n image: LocalizedMessage;\r\n in: LocalizedMessage;\r\n includes: LocalizedMessage;\r\n integer: LocalizedMessage;\r\n ip: LocalizedMessage;\r\n ipv4: LocalizedMessage;\r\n ipv6: LocalizedMessage;\r\n json: LocalizedMessage;\r\n max: NestedLocalizedMessage;\r\n min: NestedLocalizedMessage;\r\n mimes: LocalizedMessage;\r\n not_equals: LocalizedMessage;\r\n not_in: LocalizedMessage;\r\n not_regex: LocalizedMessage;\r\n number: LocalizedMessage;\r\n phone_no: LocalizedMessage;\r\n range: LocalizedMessage;\r\n regex: LocalizedMessage;\r\n required: LocalizedMessage;\r\n required_if: LocalizedMessage;\r\n required_unless: LocalizedMessage;\r\n required_with: LocalizedMessage;\r\n required_with_all: LocalizedMessage;\r\n required_without: LocalizedMessage;\r\n required_without_all: LocalizedMessage;\r\n same: LocalizedMessage;\r\n size: LocalizedMessage;\r\n starts_with: LocalizedMessage;\r\n string: LocalizedMessage;\r\n strength: LocalizedMessage;\r\n under: LocalizedMessage;\r\n url: LocalizedMessage;\r\n uuid: LocalizedMessage;\r\n unique: LocalizedMessage;\r\n video: LocalizedMessage;\r\n}\r\n\r\nexport interface StrengthLevel {\r\n id: string,\r\n description?: string,\r\n regex: string\r\n}\r\n\r\nexport interface StrengthColor {\r\n max?: number,\r\n min?: number,\r\n color: string\r\n}\r\n\r\nexport type FieldType = 'control' | 'group' | 'array';\r\n\r\nexport interface FieldConfig {\r\n label: string,\r\n name: string;\r\n type: FieldType;\r\n options?: any,\r\n}\r\n\r\nexport interface AsyncRuleConfig {\r\n name: 'exists' | 'unique' | 'dimension';\r\n url?: string;\r\n field?: string;\r\n method?: 'GET' | 'POST';\r\n request?: Record<string, any>;\r\n params?: Record<string, any>;\r\n args?: string\r\n}\r\n\r\nexport interface ControlFieldConfig extends FieldConfig {\r\n type: 'control';\r\n value?: any\r\n rule?: string | string[];\r\n asyncRule?: AsyncRuleConfig[]\r\n}\r\n\r\nexport interface GroupFieldConfig extends FieldConfig {\r\n type: 'group';\r\n children: DynamicFieldConfig[];\r\n}\r\n\r\nexport interface ArrayFieldConfig extends FieldConfig {\r\n type: 'array';\r\n children: DynamicFieldConfig[]\r\n}\r\n\r\nexport type DynamicFieldConfig = ControlFieldConfig | GroupFieldConfig | ArrayFieldConfig;\r\n","/*\r\n * Public API Surface of ng-absolute-validator\r\n */\r\nexport * from './lib/ng-absolute-validator.service';\r\nexport * from './lib/ng-absolute-validator.component';\r\nexport * from './lib/ng-absolute-validator.module';\r\nexport * from './lib/services/reactive.validate';\r\nexport * from './lib/interface';\r\n\r\nexport * from './lib/directive';\r\nexport * from './lib/rule';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgAbsoluteValidatorService","i2","i1","i1.HttpRequestService","i2.NgAbsoluteValidatorService","debounceTime","i1.MessageBuilderService","i2.UtilService","i1.ValidateRuleService","map","i1.UtilService","i2.MessageBuilderService","distinctUntilChanged","first","i3.MessageBuilderService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sbcore-ng-absolute-validator.mjs","sources":["../../../projects/ng-absolute-validator/src/lib/config-interface.ts","../../../projects/ng-absolute-validator/src/lib/constant.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.service.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.component.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.component.html","../../../projects/ng-absolute-validator/src/lib/common.utils.ts","../../../projects/ng-absolute-validator/src/lib/services/messages-builder.service.ts","../../../projects/ng-absolute-validator/src/lib/services/http.request.service.ts","../../../projects/ng-absolute-validator/src/lib/services/utils.service.ts","../../../projects/ng-absolute-validator/src/lib/services/validate-rule.service.ts","../../../projects/ng-absolute-validator/src/lib/rule/rule.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/above/above.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/accepted/accepted.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/after/after.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha/alpha.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha_numeric/alpha-numeric.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/array/array.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/before/before.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/boolean/boolean.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/confirmed/confirmed.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/date/date.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/date_format/date-format.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/different/different.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/email/email.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ends_with/ends-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/equals/equals.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/in/in.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/includes/includes.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/integer/integer.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ip/ip.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ipv4/ipv4.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/ipv6/ipv6.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/json/json.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/max/max.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/min/min.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_equals/not-equals.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_in/not-in.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/number/number.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/range/range.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/between/between.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/regex/regex.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/same/same.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/starts_with/starts-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/string/string.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/under/under.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/url/url.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/alpha_dash/alpha-dash.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/not_regex/not-regex.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/uuid/uuid.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/unique/unique.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/credit_card/credit-card.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/debit_card/debit-card.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/cvv/cvv.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/strength/strength.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/phone_no/phone-no.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required/required.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_if/required-if.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_unless/required-unless.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_with/required-with.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_with_all/required-with-all.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_without/required-without.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/required_without_all/required-without-all.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/mimes/mimes.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/size/size.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/dimension/dimension.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/image/image.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/video/video.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/exists/exists.directive.ts","../../../projects/ng-absolute-validator/src/lib/rule/rule.module.ts","../../../projects/ng-absolute-validator/src/lib/directive/error-trigger/error-trigger-on.directive.ts","../../../projects/ng-absolute-validator/src/lib/services/reactive.validate.ts","../../../projects/ng-absolute-validator/src/lib/directive/native-element/native-element.directive.ts","../../../projects/ng-absolute-validator/src/i18n/en.ts","../../../projects/ng-absolute-validator/src/i18n/de.ts","../../../projects/ng-absolute-validator/src/i18n/es.ts","../../../projects/ng-absolute-validator/src/i18n/fr.ts","../../../projects/ng-absolute-validator/src/i18n/hi.ts","../../../projects/ng-absolute-validator/src/i18n/bn.ts","../../../projects/ng-absolute-validator/src/i18n/pt.ts","../../../projects/ng-absolute-validator/src/i18n/ja.ts","../../../projects/ng-absolute-validator/src/i18n/zh.ts","../../../projects/ng-absolute-validator/src/i18n/ru.ts","../../../projects/ng-absolute-validator/src/lib/transator.loader.ts","../../../projects/ng-absolute-validator/src/lib/ng-absolute-validator.module.ts","../../../projects/ng-absolute-validator/src/lib/interface.ts","../../../projects/ng-absolute-validator/src/public-api.ts","../../../projects/ng-absolute-validator/src/sbcore-ng-absolute-validator.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { ErrorTriggerState, LocalizedMessageGroup, StrengthColor, StrengthLevel } from './interface';\r\n\r\nexport interface ConfigInterface {\r\n remoteLoader? : boolean\r\n delayLoader? : number\r\n strengthBar? : boolean\r\n strengthColor? : StrengthColor[]\r\n strengthLevel? : StrengthLevel[],\r\n translations? : LocalizedMessageGroup;\r\n replaceTranslations?: LocalizedMessageGroup;\r\n defaultLanguage? : string;\r\n supportedLanguages? : string[];\r\n showErrorOn? : ErrorTriggerState;\r\n}\r\n\r\nexport const LIB_CONFIG = new InjectionToken<ConfigInterface>('LIB_CONFIG');\r\n","export const GlobalConstant = {\r\n\r\n customObjectName: 'ng_abs',\r\n customRulesName: 'validators',\r\n customElementName: 'nativeElement',\r\n customFieldName: 'field_name',\r\n\r\n approvedLanguage: [\r\n 'en', 'ar'\r\n ],\r\n\r\n fileDependentRules: [\r\n 'image', 'video', 'mimes', 'size'\r\n ],\r\n\r\n fieldDependentRules: [\r\n 'same', 'confirmed', 'different', 'required_if', 'required_unless', 'required_with', 'required_with_all',\r\n 'required_without', 'required_without_all'\r\n ],\r\n\r\n filedOnlyDependentRules: [\r\n 'required_if', 'required_unless', 'required_with', 'required_with_all', 'required_without', 'required_without_all'\r\n ],\r\n\r\n fieldDefaultNameRule: [\r\n 'required_without', 'required_without_all'\r\n ],\r\n\r\n asyncRules: [\r\n 'unique', 'exists', 'dimension'\r\n ],\r\n\r\n emitMethods: [\r\n 'credit_card', 'debit_card', 'strength'\r\n ],\r\n\r\n /****\r\n * Credit Card Issuer with Regex Expression\r\n ****/\r\n\r\n credit_card: [\r\n { name: 'American Express', id: 'AMEX', regex: '^3[47]' },\r\n { name: 'Discover', id: 'DISCOVER', regex: '^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)' },\r\n { name: 'JCB', id: 'JCB', regex: '^(?:2131|1800|35\\d{3})\\d{11}$' },\r\n { name: 'MasterCard', id: 'MASTER_CARD', regex: '^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$' },\r\n { name: 'Diners', id: 'DINERS', regex: '^36' },\r\n { name: 'Diners - Carte Blanche', id: 'DINERS_CARTE_BLANCHE', regex: '^30[0-5]' },\r\n { name: 'Visa Electron', id: 'VISA_ELECTRON', regex: '^(4026|417500|4508|4844|491(3|7))' },\r\n { name: 'Visa', id: 'VISA', regex: '^4[0-9]{12}(?:[0-9]{3})?$' },\r\n ],\r\n\r\n /****\r\n * Debit Card Issuer with Regex Expression\r\n ****/\r\n\r\n debit_card: [\r\n { name: 'American Express', id: 'AMEX', regex: '^3[47]' },\r\n { name: 'Discover', id: 'DISCOVER', regex: '^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)' },\r\n { name: 'JCB', id: 'JCB', regex: '^(?:2131|1800|35\\d{3})\\d{11}$' },\r\n { name: 'MasterCard', id: 'MASTER_CARD', regex: '^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$' },\r\n { name: 'Diners', id: 'DINERS', regex: '^36' },\r\n { name: 'Diners - Carte Blanche', id: 'DINERS_CARTE_BLANCHE', regex: '^30[0-5]' },\r\n { name: 'Visa Electron', id: 'VISA_ELECTRON', regex: '^(4026|417500|4508|4844|491(3|7))' },\r\n { name: 'Visa', id: 'VISA', regex: '^4[0-9]{12}(?:[0-9]{3})?$' },\r\n ],\r\n\r\n /****\r\n * String strength validation with Regex Expression\r\n ****/\r\n\r\n strength_default_color: '#6c757d',\r\n\r\n strength_level: [\r\n { id: 'a', description: 'String is of length 8.', regex: '.{8}' },\r\n { id: 'b', description: 'String has one uppercase letters.', regex: '(?=.*[A-Z])' },\r\n { id: 'c', description: 'String has one special case letter.', regex: '(?=.*[!@#$&*])' },\r\n { id: 'd', description: 'String has one digits.', regex: '(?=.*[0-9])' },\r\n { id: 'e', description: 'String has one lowercase letters.', regex: '(?=.*[a-z])' },\r\n ],\r\n\r\n strength_color: [\r\n { max: 25, color: '#d9534f' },\r\n { min: 26, max: 50, color: '#f0ad4e' },\r\n { min: 51, max: 75, color: '#5bc0de' },\r\n { min: 76, color: '#5cb85c' }\r\n ]\r\n}\r\n\r\nexport const CUSTOM_OBJECT_NAME ='ng_abs';\r\n\r\nexport const DEFAULT_STRENGTH_COLOR = '#6c757d'\r\n\r\nexport const DEFAULT_DATE_FORMAT = 'dd-MM-yyyy'\r\nexport const DEFAULT_LOCALE_LANG = 'en'\r\nexport const SUPPORTED_LOCALE_LANGS = ['ar', 'bn', 'de', 'en', 'es', 'fr', 'hi', 'ja', 'pt', 'ru', 'zh']\r\nexport const DEFAULT_TRIGGER_STATE = ['touched','dirty'];\r\nexport const EMIT_METHODS = ['credit_card', 'debit_card', 'strength']\r\nexport const CROSS_FIELD_VALIDATORS = [\r\n 'same', 'confirmed', 'different',\r\n 'required_if', 'required_unless',\r\n 'required_with', 'required_with_all',\r\n 'required_without', 'required_without_all'\r\n]\r\nexport const ASYNC_RULES = ['unique', 'exists', 'dimension']\r\nexport const FILE_TYPE_RULES = ['image', 'video', 'mimes', 'size']\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { ConfigInterface,LIB_CONFIG} from './config-interface';\r\nimport { DEFAULT_TRIGGER_STATE, GlobalConstant } from './constant';\r\nimport { ErrorTriggerState } from './interface';\r\n\r\n@Injectable()\r\nexport class NgAbsoluteValidatorService {\r\n\r\n public VLIDATOR_CONFIG : ConfigInterface = {};\r\n\r\n constructor(\r\n @Inject(LIB_CONFIG) private config:ConfigInterface\r\n ){this.init()}\r\n\r\n init(){\r\n this.VLIDATOR_CONFIG = this.config;\r\n }\r\n\r\n /**\r\n * @description This method give is remote locader is enable or not\r\n * @returns Boolean\r\n **/\r\n get remoteLoader(){\r\n return (typeof this.VLIDATOR_CONFIG.remoteLoader === 'undefined') ? true : this.VLIDATOR_CONFIG.remoteLoader;\r\n }\r\n\r\n /**\r\n * @description This method give is remote locader is enable or not\r\n * @returns Boolean\r\n **/\r\n get strengthBar(){\r\n return (typeof this.VLIDATOR_CONFIG.strengthBar === 'undefined') ? true : this.VLIDATOR_CONFIG.strengthBar;\r\n }\r\n\r\n /**\r\n * @description This method return the color of the bar based on config\r\n * @returns Object\r\n **/\r\n get strengthColor(){\r\n let strColor = this.VLIDATOR_CONFIG.strengthColor\r\n return (typeof strColor === 'object') ? strColor : GlobalConstant.strength_color\r\n }\r\n\r\n /**\r\n * @description This method return the list of regex config to vlidate\r\n * @returns Object\r\n **/\r\n get strengthLevel(){\r\n let level = this.VLIDATOR_CONFIG.strengthLevel || {};\r\n return Object.assign(GlobalConstant.strength_level,level);\r\n }\r\n\r\n /**\r\n * @description This method check is the loader should display or not\r\n * @returns boolean\r\n **/\r\n get delayLoader(): number {\r\n return this.VLIDATOR_CONFIG.delayLoader || 0;\r\n }\r\n\r\n /**\r\n * @description This method state of triger validation\r\n * @returns boolean\r\n **/\r\n get showErrorOn(): ErrorTriggerState[] {\r\n return (this.VLIDATOR_CONFIG.showErrorOn || DEFAULT_TRIGGER_STATE) as ErrorTriggerState[]\r\n }\r\n}\r\n","import { Component, Input, OnInit, Output, EventEmitter, OnDestroy, Optional, Inject, ContentChild, TemplateRef } from '@angular/core';\r\nimport { CROSS_FIELD_VALIDATORS, CUSTOM_OBJECT_NAME, DEFAULT_LOCALE_LANG, DEFAULT_STRENGTH_COLOR, DEFAULT_TRIGGER_STATE } from './constant';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { NgAbsoluteValidatorService } from './ng-absolute-validator.service';\r\nimport { ErrorTriggerState, FormGroupDirective2, NgForm2 } from './interface';\r\n\r\n@Component({\r\n selector: 'ng-absolute-validator',\r\n templateUrl: './ng-absolute-validator.component.html',\r\n styleUrls: ['./ng-absolute-validator.component.css']\r\n})\r\nexport class NgAbsoluteValidatorComponent implements OnInit, OnDestroy {\r\n\r\n public strength_color : any;\r\n public indicatorColor : string = DEFAULT_STRENGTH_COLOR;\r\n public indicatorScore : number = 0;\r\n public invalid : boolean = true;\r\n public dirty : boolean = false;\r\n public touched : boolean = false;\r\n public inputValue : any;\r\n public isLoaderOn : boolean = false;\r\n public isStrengthBarOn: boolean = false;\r\n public errorMessage : any = {};\r\n public ngAbsData : any = {};\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n\r\n @Input() formInstance : any;\r\n @Input() loader : boolean = true;\r\n @Input() message : any = {};\r\n @Input() defaultError : boolean = true;\r\n @Input() showErrorOn : ErrorTriggerState[] = [];\r\n\r\n @Output() onValid : EventEmitter<boolean> = new EventEmitter<boolean>();\r\n @Output() onValidate: EventEmitter<string[]> = new EventEmitter<string[]>();\r\n\r\n @ContentChild('absError') absError ?: TemplateRef<any>;\r\n @ContentChild('absProgress') absProgress ?: TemplateRef<any>;\r\n @ContentChild('absLoader') absLoader ?: TemplateRef<any>;\r\n\r\n constructor(\r\n private avs : NgAbsoluteValidatorService,\r\n private translate: TranslateService,\r\n @Optional() @Inject(FormGroupDirective) private formGroupDirective: FormGroupDirective2,\r\n @Optional() @Inject(NgForm) private ngForm: NgForm2\r\n ){\r\n const langCode = (navigator.language || DEFAULT_LOCALE_LANG).split('-')[0]\r\n this.translate.setDefaultLang(langCode)\r\n this.translate.use(DEFAULT_LOCALE_LANG)\r\n }\r\n\r\n ngOnInit() {\r\n this.isLoaderOn = this.loader === true ? this.avs.remoteLoader : false;\r\n this.isStrengthBarOn = this.avs.strengthBar;\r\n this.strength_color = this.avs.strengthColor;\r\n this.doCheckAndValidate();\r\n }\r\n\r\n get errorContext() {\r\n return {\r\n $implicit: this.errorMessage\r\n }\r\n }\r\n\r\n get progressContext() {\r\n return {\r\n $implicit: this.indicatorScore,\r\n color: this.indicatorColor\r\n }\r\n }\r\n\r\n get isSubmitted(): boolean {\r\n return this.formGroupDirective?.submitted ?? this.ngForm?.submitted ?? false;\r\n }\r\n\r\n get errorTriggerOn(): string[] {\r\n if (this.showErrorOn.length > 0) {\r\n return this.showErrorOn\r\n }\r\n if (this.formGroupDirective?.errorTriggerOn?.length > 0) {\r\n return this.formGroupDirective.errorTriggerOn\r\n }\r\n if (this.ngForm?.errorTriggerOn?.length > 0) {\r\n return this.ngForm.errorTriggerOn\r\n }\r\n if (this.avs.showErrorOn.length > 0) {\r\n return this.avs.showErrorOn\r\n }\r\n return DEFAULT_TRIGGER_STATE\r\n }\r\n\r\n /**\r\n * @description This method check the rule has dependency with another field or not\r\n * @return boolean\r\n **/\r\n get isDisplay(): boolean {\r\n let isDependent = (this.ngAbsData.validators || [])\r\n .some((rule: string) => CROSS_FIELD_VALIDATORS.includes(rule));\r\n\r\n if (this.errorTriggerOn.includes('submit')) {\r\n return this.isSubmitted && this.invalid\r\n }\r\n if (this.errorTriggerOn.includes('always')) {\r\n return this.invalid\r\n }\r\n return this.invalid\r\n && (isDependent || this.errorTriggerOn.every((on: string) => this.formInstance[on as keyof this]));\r\n }\r\n\r\n /**\r\n * @description This method check and validate the mathod\r\n * @return void\r\n **/\r\n private doCheckAndValidate(): void {\r\n this.setNgAbsData(this.formInstance); // Need Only For Reactive Validation\r\n this.errorMessage = this.generateMessage(this.formInstance.errors, this.message, true); // Need Only For Reactive Validation\r\n\r\n this.formInstance.statusChanges.pipe(debounceTime(200), takeUntil(this.destroy$)).subscribe(() => {\r\n this.inputValue = this.formInstance.value;\r\n this.invalid = this.formInstance.invalid;\r\n this.dirty = this.formInstance.dirty;\r\n this.touched = this.formInstance.touched;\r\n this.errorMessage = this.generateMessage(this.formInstance.errors, this.message, true);\r\n\r\n this.setNgAbsData(this.formInstance);\r\n this.emitedData(this.formInstance);\r\n })\r\n }\r\n\r\n /**\r\n * @description This method set the validate methods taking from Template/Reactive from\r\n * @return void\r\n **/\r\n private setNgAbsData(formInstance: any): void {\r\n this.ngAbsData = formInstance[CUSTOM_OBJECT_NAME] || (formInstance.control ? (formInstance.control[CUSTOM_OBJECT_NAME] || {}) : {});\r\n }\r\n\r\n\r\n /**\r\n * @description This method set strength color with max and min range object\r\n * @return void\r\n **/\r\n public getStrengthClass(strengthData: any): void {\r\n\r\n if (!!!strengthData.strength) return;\r\n\r\n strengthData = strengthData.strength;\r\n this.indicatorScore = strengthData && strengthData.score && !!this.inputValue ? strengthData.score : 0;\r\n let strength = this.strength_color.find((v: any) => (this.indicatorScore >= (v.min || -9999) && this.indicatorScore <= (v.max || 9999)));\r\n this.indicatorColor = strength ? strength.color : DEFAULT_STRENGTH_COLOR;\r\n }\r\n\r\n /**\r\n * @description This method trigger event and return the validation information\r\n * @return void\r\n **/\r\n private emitedData(formInstance: any): void {\r\n let emited = {} as any;\r\n emited['isValid'] = formInstance.valid;\r\n emited['isPending'] = formInstance.pending;\r\n\r\n if (this.ngAbsData) {\r\n this.getStrengthClass(this.ngAbsData)\r\n emited['data'] = this.ngAbsData\r\n }\r\n\r\n this.onValid.emit(emited);\r\n this.onValidate.emit(formInstance.errors)\r\n }\r\n\r\n /**\r\n * @description This method generate message\r\n * @return object\r\n **/\r\n private generateMessage(messageObject: any, message: string, is_array = false): object {\r\n messageObject = Object.assign(messageObject || {}, message);\r\n if (is_array) {\r\n return Object.keys(messageObject || {}).map(i => messageObject[i]);\r\n } else {\r\n return messageObject;\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","<ng-container *ngIf=\"formInstance.pending && isLoaderOn\">\r\n <div class=\"av-loading-panel\">\r\n <ng-template [ngTemplateOutlet]=\"absLoader ?? absFbLoader\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"(formInstance.control?.ng_abs?.strength || formInstance?.ng_abs?.strength ) && isStrengthBarOn && indicatorScore > 0\">\r\n <div class=\"av-progress\">\r\n <ng-template [ngTemplateOutlet]=\"absProgress ?? absFbProgress\" [ngTemplateOutletContext]=\"progressContext\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isDisplay && defaultError && errorMessage.length > 0\">\r\n <div class=\"av-error-panel\">\r\n <ng-template [ngTemplateOutlet]=\"absError ?? absFbError\"[ngTemplateOutletContext]=\"errorContext\"></ng-template>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-template #absFbLoader>\r\n <div class=\"av-loading\" >\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n <div><div></div></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #absFbProgress>\r\n <div\r\n\t\tclass=\"av-progress-bar\"\r\n\t\trole=\"progressbar\"\r\n\t\taria-valuenow=\"40\"\r\n\t\taria-valuemin=\"0\"\r\n\t\taria-valuemax=\"100\"\r\n\t\t[style.background-color]=\"indicatorColor\"\r\n\t\t[style.width.%]=\"indicatorScore\">\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #absFbError>\r\n <ul class=\"av-errors-list\">\r\n <ng-container *ngFor=\"let error of errorMessage\">\r\n <li [innerText]=\"error\"></li>\r\n </ng-container>\r\n </ul>\r\n</ng-template>\r\n","export const toArray = (value: any, seperator: string = ','): any[] => {\r\n let DataArray = (typeof value === 'string' && value.indexOf(seperator) >= 0)\r\n ? value.split(seperator) : (isArray(value) ? value : [value]) as string[];\r\n\r\n return DataArray.filter(item => Boolean(item) && !isEmptyObject(item));\r\n}\r\n\r\nexport const isArray = (actualData: string): boolean => {\r\n if (typeof actualData === 'string' && json(actualData)) {\r\n actualData = JSON.parse(actualData);\r\n }\r\n return Array.isArray(actualData);\r\n}\r\n\r\nexport const isEmptyObject = (value: any): boolean => {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n !Array.isArray(value) &&\r\n Object.keys(value).length === 0\r\n );\r\n}\r\n\r\nexport const camelCase = (string: string): string => {\r\n return string.toLowerCase()\r\n .replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase());\r\n}\r\n\r\nexport const json = (string: string): boolean => {\r\n if (!string) return false;\r\n try {\r\n JSON.parse(string);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport const bytesToSize = (bytes: any, seperator = \"\") => {\r\n let sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']\r\n if (bytes == 0) return null;\r\n let number = Math.floor(Math.log(bytes) / Math.log(1024)).toString();\r\n let i = parseInt(number, 10)\r\n if (i === 0) return `${bytes}${seperator}${sizes[i]}`\r\n return `${(bytes / (1024 ** i)).toFixed(1)}${seperator}${sizes[i]}`\r\n}\r\n\r\n\r\nexport function toCharClass(chars: string): string {\r\n return chars.replace(/[\\\\\\]^-]/g, '\\\\$&');\r\n}\r\n\r\n\r\nexport function cloneDeep(data: any): any {\r\n return JSON.parse(JSON.stringify(data))\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { toArray } from '../common.utils';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class MessageBuilderService {\r\n\r\n constructor(\r\n private ts : TranslateService,\r\n ){}\r\n\r\n call(langAttr: string, attribute: string, ...args: any) : string {\r\n let message = '';\r\n let [lastElement] = args.slice(-1);\r\n let template = this.ts.instant(langAttr) || ''\r\n let hasCustomTemplate = typeof lastElement === 'object' && Object.keys(lastElement).length > 0;\r\n\r\n if(hasCustomTemplate && lastElement[langAttr] && lastElement[langAttr][this.ts.currentLang]){\r\n template = lastElement[langAttr][this.ts.currentLang]\r\n }\r\n if(hasCustomTemplate && lastElement[this.ts.currentLang]){\r\n template = lastElement[this.ts.currentLang]\r\n }\r\n if (attribute && template) {\r\n message = template.replace(':attribute', attribute);\r\n }\r\n\r\n if (args.length === 0) { return message; }\r\n\r\n args.forEach((v:string, index:number) => {\r\n let replaceWithOne = `:arg${index}`;\r\n let replaceWithMulti = `:arg${index}:`;\r\n\r\n if (message.includes(replaceWithMulti)) {\r\n args = args.splice(index);\r\n let argString = toArray(args) ? toArray(args).join(',') : args;\r\n message = message.replace(replaceWithMulti, argString as string)\r\n }\r\n\r\n if (message.includes(replaceWithOne)) {\r\n message = message.replace(replaceWithOne, v)\r\n }\r\n });\r\n\r\n return message;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class HttpRequestService {\r\n\r\n constructor(\r\n protected http: HttpClient\r\n ) { }\r\n\r\n get(action_url: string, params = {}): Observable<any> {\r\n return this.http.get<any[]>(action_url, { params });\r\n }\r\n\r\n post(action_url: string, data: any = {}, params = {}): Observable<any> {\r\n return this.http.post<any[]>(action_url, data, { params });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequestService } from './http.request.service';\r\nimport { NgAbsoluteValidatorService } from './../ng-absolute-validator.service';\r\nimport { map } from 'rxjs/operators';\r\nimport { DEFAULT_DATE_FORMAT, GlobalConstant } from '../constant';\r\nimport { Observable, from, of } from 'rxjs';\r\nimport { AbstractControl2, HttpRequestArgs } from '../interface';\r\nimport { FormControl } from '@angular/forms';\r\nimport { toArray } from '../common.utils';\r\nimport { isAfter, isBefore, isValid, parse } from 'date-fns';\r\n\r\n\r\n@Injectable()\r\nexport class UtilService {\r\n\r\n public defaultTimeZone :string = 'DD-MM-YYYY';\r\n public creditCardIssuers :any = GlobalConstant.credit_card;\r\n public debitCardIssuers :any = GlobalConstant.debit_card;\r\n public customObjectName :any = GlobalConstant.customObjectName;\r\n public customRulesName :any = GlobalConstant.customRulesName\r\n public stringStrength :any = [];\r\n\r\n constructor(\r\n private http: HttpRequestService,\r\n private abs : NgAbsoluteValidatorService\r\n ){this.init()}\r\n\r\n\r\n init(){\r\n this.stringStrength = this.abs.strengthLevel;\r\n }\r\n\r\n public setValidationRules(control:AbstractControl2,rules:string | string[],appends = {}){\r\n let customObjectName = this.customObjectName;\r\n let customRulesName = this.customRulesName;\r\n let ruleArray = Array.isArray(rules) ? rules : [rules];\r\n let activeRules = !!control[customObjectName] && !!control[customObjectName][customRulesName] ? control[customObjectName][customRulesName] : [];\r\n let finalObject = Object.assign({\r\n validators : Array.from(new Set(activeRules.concat(ruleArray)))\r\n },appends);\r\n\r\n control[customObjectName] = finalObject\r\n }\r\n\r\n public json(string:string):boolean {\r\n if(!string) return false;\r\n try {\r\n JSON.parse(string);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public confirmed(control: AbstractControl2, args:string, fieldName = null): boolean | void {\r\n fieldName = fieldName || control['field_name'] || null;\r\n let compared_field_name = args || (`${fieldName}_confirmation`);\r\n let toCompareWith = control.root.get(compared_field_name) as FormControl;\r\n return (control.value === toCompareWith?.value)\r\n }\r\n\r\n public same(control: AbstractControl2, args:string): boolean {\r\n let toCompareWith = control.root.get(args) as FormControl;\r\n return (control.value === toCompareWith?.value);\r\n }\r\n\r\n public different(control:AbstractControl2, args:string): boolean{\r\n let toCompareWith = control.root.get(args) as FormControl;\r\n return (control.value !== toCompareWith?.value);\r\n }\r\n\r\n public required(actualData:string):boolean{\r\n return !!actualData;\r\n }\r\n\r\n public requiredIf(control: AbstractControl2, args: string | string[]): boolean {\r\n let [dependent,matchWith] = toArray(args)\r\n if(!dependent || !matchWith){\r\n return false\r\n }\r\n let toCompareWith = control.root.get(dependent) as FormControl\r\n return (toCompareWith.value === matchWith) ? this.required(control.value) : true\r\n }\r\n\r\n public requiredUnless(control: AbstractControl2, args: string | string[]): boolean {\r\n let [dependent,...matchWith] = toArray(args);\r\n if(!dependent && matchWith.length === 0){\r\n return false\r\n }\r\n\r\n let toCompareWith = control.root.get(dependent) as FormControl;\r\n return matchWith.some(item => item === toCompareWith.value) ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWith(control: AbstractControl2, args: string | string[]): boolean {\r\n let names = toArray(args);\r\n let anyHasValue = names.some(name => {\r\n const c = control.root.get(name);\r\n return c && c.value !== null && c.value !== undefined && c.value !== '';\r\n });\r\n return anyHasValue ? this.required(control.value) : true;\r\n }\r\n\r\n public requiredWithAll(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n return compareWithValue.filter(Boolean).length === matchWith.length ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWithout(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n return compareWithValue.filter(Boolean).length === 0 ? this.required(control.value) : true\r\n }\r\n\r\n public requiredWithoutAll(control:AbstractControl2, args:string | string[]): boolean{\r\n let matchWith \t\t = toArray(args);\r\n let compareWithValue = matchWith.map(name => (control.root.get(name) as FormControl).value)\r\n let emptyFieldCount = compareWithValue.filter((value) => value === '' || value === null || value === undefined)\r\n return emptyFieldCount.length > 0 ? this.required(control.value) : true\r\n }\r\n\r\n public email(actualData:string): boolean{\r\n return (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(actualData))\r\n }\r\n\r\n public above(actualData:number,toBeData:number): boolean{\r\n return (Number(toBeData) < Number(actualData))\r\n }\r\n\r\n public accepted(actualData:any): boolean{\r\n return (actualData || actualData !== false || actualData !== 0)\r\n }\r\n\r\n public date(actualData:string,format:string = DEFAULT_DATE_FORMAT): boolean{\r\n try {\r\n return actualData ? isValid(parse(actualData, format || DEFAULT_DATE_FORMAT, new Date())) : true\r\n }catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public dateFormat(actualData:any, format:string = DEFAULT_DATE_FORMAT): boolean{\r\n try {\r\n return actualData ? isValid(parse(actualData, format || DEFAULT_DATE_FORMAT, new Date())) : true\r\n }catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public after(actualData:string, toBeData:string | string[]): boolean{\r\n if(!!!actualData || !!!toBeData){\r\n return false;\r\n }\r\n\r\n let [matchWithDate,matchWithDateFormat = DEFAULT_DATE_FORMAT] = Array.isArray(toBeData) ? toBeData : toBeData.split(',')\r\n if(!this.dateFormat(actualData,matchWithDateFormat) || !this.dateFormat(matchWithDate,matchWithDateFormat)){\r\n return false\r\n }\r\n\r\n return isAfter(\r\n parse(actualData, matchWithDateFormat, new Date()),\r\n parse(matchWithDate, matchWithDateFormat, new Date())\r\n );\r\n }\r\n\r\n public before(actualData:string, toBeData:string | string[]): boolean{\r\n if(!!!actualData || !!!toBeData){\r\n return false;\r\n }\r\n\r\n let [matchWithDate,matchWithDateFormat = DEFAULT_DATE_FORMAT] = Array.isArray(toBeData) ? toBeData : toBeData.split(',')\r\n if(!this.dateFormat(actualData,matchWithDateFormat) || !this.dateFormat(matchWithDate,matchWithDateFormat)){\r\n return false\r\n }\r\n\r\n return isBefore(\r\n parse(actualData, matchWithDateFormat, new Date()),\r\n parse(matchWithDate, matchWithDateFormat, new Date())\r\n );\r\n }\r\n\r\n public alpha(actualData:string) :boolean{\r\n return (/^[a-z]+$/i.test(actualData));\r\n }\r\n\r\n public alphaNumeric(actualData:string): boolean{\r\n return (/^[a-z0-9]+$/i.test(actualData));\r\n }\r\n\r\n public alphaDash(actualData:string): boolean{\r\n return this.regex(actualData,'^[a-zA-Z0-9-_]+$');\r\n }\r\n\r\n public array(actualData:string): boolean{\r\n if(typeof actualData === 'string' && this.json(actualData)){\r\n actualData = JSON.parse(actualData);\r\n }\r\n return Array.isArray(actualData);\r\n }\r\n\r\n public boolean(actualData:string):boolean{\r\n let booleanAccepted = [\r\n 1,'1',0,'0','true',true,'false','false'\r\n ];\r\n return booleanAccepted.includes(actualData);\r\n }\r\n\r\n public equals(actualData:string,compared_to_value:string): boolean{\r\n return (actualData == compared_to_value);\r\n }\r\n\r\n public endsWith(actualData:string, end_with: any): boolean{\r\n let _end_with = toArray(end_with);\r\n return !_end_with.find((v) => actualData && actualData.endsWith(v));\r\n }\r\n\r\n public startsWith(actualData:string, start_with:string | string[]): boolean{\r\n return toArray(start_with).some((v) => actualData && actualData.startsWith(v))\r\n }\r\n\r\n public in(actualData: string, compare: string | string[]): boolean {\r\n let toCompare = new Set(toArray(compare).map(v => v.toString()))\r\n return toCompare.has(actualData);\r\n }\r\n\r\n public notIn(actualData:string, compare:string | string[]): boolean{\r\n return !this.in(actualData,compare);\r\n }\r\n\r\n public includes(actualData: string, compare: string | string[]): boolean {\r\n if (!actualData) return false;\r\n return toArray(compare).every(v => actualData.includes(v.toString()));\r\n }\r\n\r\n public number(actualData:any): boolean{\r\n return !isNaN(actualData);\r\n }\r\n\r\n public string(actualData:any): boolean{\r\n return isNaN(actualData)\r\n }\r\n\r\n public integer(actualData:any): boolean{\r\n if(!this.number(actualData)) return false;\r\n return Number.isInteger(Number(actualData));\r\n }\r\n\r\n public ip(actualData:string): boolean {\r\n let regexExp = [\r\n '^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',\r\n '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'\r\n ].join(\"\\\\.\");\r\n\r\n return this.regex(actualData,regexExp);\r\n }\r\n\r\n public ipv4(actualData:string): boolean {\r\n let regexExp = new RegExp('^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$');\r\n return regexExp.test(actualData)\r\n }\r\n\r\n public ipv6(actualData:string): boolean {\r\n let regexExp = new RegExp('^([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}$');\r\n return regexExp.test(actualData)\r\n }\r\n\r\n public max(actualData:any, max:number): boolean{\r\n if(!actualData) return false;\r\n\r\n if(this.integer(actualData)){\r\n return actualData <= max\r\n }else{\r\n return (actualData.length <= max)\r\n }\r\n }\r\n\r\n public min(actualData:any, min:string | number): boolean{\r\n if(!!!actualData || !!!min) return false;\r\n if(this.integer(actualData)){\r\n return Number(actualData) >= Number(min)\r\n }else{\r\n return (actualData.length >= min)\r\n }\r\n }\r\n\r\n public notEquals(actualData:any,compare_to:any): boolean{\r\n return !this.equals(actualData,compare_to);\r\n }\r\n\r\n public range(actualData: string, range: string | string[] | number[]): boolean {\r\n let [min, max] = toArray(range);\r\n return (Number(min) <= Number(actualData)) && (Number(actualData) <= Number(max));\r\n }\r\n\r\n public between(actualData: string, range: string | string[] | number[]): boolean {\r\n let [min, max] = toArray(range);\r\n return (Number(min) < Number(actualData)) && (Number(actualData) < Number(max));\r\n }\r\n\r\n public under(actualData:string, under:string): boolean{\r\n if(!this.number(actualData)) return false;\r\n return Number(actualData) < Number(under);\r\n }\r\n\r\n public url(actualData:string): boolean{\r\n let regexExp = [\r\n '^(?:(?:http(?:s)?|ftp)://)(?:\\\\S+(?::(?:\\\\S)*)?@)?(?:(?:[a-z0-9\\u00a1-\\uffff](?:-)*)',\r\n '(?:[a-z0-9\\u00a1-\\uffff])+)(?:\\\\.(?:[a-z0-9\\u00a1-\\uffff](?:-)*)',\r\n '(?:[a-z0-9\\u00a1-\\uffff])+)',\r\n '(?:\\\\.(?:[a-z0-9\\u00a1-\\uffff]){2,})(?::(?:\\\\d){2,5})?(?:/(?:\\\\S)*)?$'\r\n ].join('*')\r\n\r\n return this.regex(actualData,regexExp);\r\n }\r\n\r\n public regex(actualData:string, expression:string): boolean{\r\n let regexExp = new RegExp(expression);\r\n return regexExp.test(actualData);\r\n }\r\n\r\n public notRegex(actualData:string, expression:string): boolean{\r\n return !this.regex(actualData,expression);\r\n }\r\n\r\n public uuid(actualData:string): boolean{\r\n return this.regex(actualData,'[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}');\r\n }\r\n\r\n public unique(args:HttpRequestArgs): Observable<boolean>{\r\n let http :Observable<any>;\r\n let action = args.url\r\n let method = args.method || 'GET'\r\n let request = args.request|| {}\r\n let params = args.params || {}\r\n\r\n if(action || Object.keys(request).length === 0){\r\n return of(false)\r\n }\r\n\r\n switch(method){\r\n case 'POST':\r\n http = this.http.post(action,request,params);\r\n break;\r\n default:\r\n http = this.http.get(action,{...request,...params});\r\n }\r\n\r\n return http.pipe(map((data:any)=> (data && data.length === 0)))\r\n }\r\n\r\n public exists(args:HttpRequestArgs): Observable<boolean>{\r\n let http :Observable<any>;\r\n let action = args.url\r\n let method = args.method || 'GET'\r\n let request = args.request|| {}\r\n let params = args.params || {}\r\n\r\n if(!action || Object.keys(request).length === 0){\r\n return of(false)\r\n }\r\n\r\n switch(method){\r\n case 'POST':\r\n http = this.http.post(action,request,params);\r\n break;\r\n default:\r\n http = this.http.get(action,{...request,...params});\r\n }\r\n\r\n return http.pipe(map((data:any)=> (data && data.length > 0)))\r\n }\r\n\r\n public getCreditCardData(number:string): any{\r\n if(!number) return;\r\n number = number.toString();\r\n\r\n let card_issuer = this.creditCardIssuers.find((card:any) => this.regex(number,card.regex));\r\n return {issuer : (card_issuer ? card_issuer.name : null)}\r\n }\r\n\r\n public creditCard(actualData:string): boolean{\r\n let cardInfo = this.getCreditCardData(actualData) as any\r\n return cardInfo ? !!cardInfo.issuer : false;\r\n }\r\n\r\n private getDebitCardData(number:number): any{\r\n if(!number) return false;\r\n let _number = number.toString();\r\n\r\n let card_issuer = this.debitCardIssuers.find((card:any) => this.regex(_number,card.regex));\r\n return {issuer : (card_issuer ? card_issuer.name : null)}\r\n }\r\n\r\n public debitCard(actualData:number){\r\n let cardInfo = this.getDebitCardData(actualData)\r\n return cardInfo ? !!cardInfo.issuer : false;\r\n }\r\n\r\n public cvv(actualData:string):boolean{\r\n return this.regex(actualData,'^[0-9]{3,4}$');\r\n }\r\n\r\n public getStrengthData(actualData:string, compare:string | string[]): any{\r\n\r\n if(!!!actualData) return false;\r\n\r\n let toCompare = toArray(compare);\r\n let allowedStrength = [] as any;\r\n let activeStrength = [] as any;\r\n let inActiveStrength = [] as any;\r\n let strengthScore = 0 as number;\r\n let strength_color = this.abs.strengthColor;\r\n let validStrength = strength_color[strength_color.length - 1];\r\n let allowOnMaxScrore = this.number(toCompare[toCompare.length -1]) ? toCompare[toCompare.length -1] : validStrength.min || -9999;\r\n let specialChars = \"@%+\\/'!#$^?:.(){}[]~-_\";\r\n\r\n var letters = new Object() as any;\r\n for (var i = 0; i < actualData.length; i++) {\r\n let assignScore = specialChars.includes(actualData[i]) ? 8.0 : 5.0;\r\n letters[actualData[i]] = (letters[actualData[i]] || 0) + 1;\r\n strengthScore += assignScore / letters[actualData[i]];\r\n }\r\n\r\n let variationCount = 0;\r\n this.stringStrength.forEach((v:any)=>{\r\n if(toCompare.indexOf(v.id) >= 0 || toCompare.length == 0){\r\n allowedStrength.push(v.id)\r\n let isValid = this.regex(actualData,v.regex);\r\n isValid ? activeStrength.push(v.id) : inActiveStrength.push(v.id)\r\n variationCount += isValid ? 1 : 0\r\n }\r\n });\r\n strengthScore += (variationCount - 1) * 10;\r\n strengthScore = Math.round(strengthScore);\r\n\r\n if(inActiveStrength.length > 0){\r\n strengthScore = (strengthScore >= allowOnMaxScrore) ? allowOnMaxScrore - (inActiveStrength.length * 5) : strengthScore;\r\n }\r\n\r\n let sendObject = {\r\n score :strengthScore,\r\n allowedStrength :allowedStrength,\r\n validFor :activeStrength,\r\n validExcept :inActiveStrength,\r\n allowOnMaxScore :allowOnMaxScrore\r\n };\r\n\r\n return sendObject;\r\n }\r\n\r\n public strength(actualData:string,compare:string | string[]): boolean{\r\n let strength = this.getStrengthData(actualData,compare);\r\n return (strength && strength.score >= strength.allowOnMaxScore);\r\n }\r\n\r\n public phoneNo(actualData:string,expression:string | null = null): boolean{\r\n let regex:any = /\\s*(?:\\+?(\\d{1,3}))?[\\W\\D\\s]^|()*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d)[\\W\\D\\s]*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d)[\\W\\D\\s]*(\\d[\\W\\D\\s]*?\\d[\\D\\W\\s]*?\\d[\\W\\D\\s]*?\\d)(?: *x(\\d+))?\\s*$/g;\r\n return this.regex(actualData, expression || regex);\r\n }\r\n\r\n public image(fileInstance:File[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0)\r\n return false;\r\n let file = fileInstance[0] as File;\r\n return file.type.startsWith('image/');\r\n }\r\n\r\n public video(fileInstance:File[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0)\r\n return false;\r\n\r\n let file = fileInstance[0] as File;\r\n return file.type.startsWith('video/');\r\n }\r\n\r\n public mimes(fileInstance:File[],compare:string | string[]): boolean{\r\n if(!!!fileInstance || fileInstance.length === 0 || !!!compare)\r\n return false;\r\n\r\n let file = fileInstance[0];\r\n let ext = file.name.split('.').pop();\r\n let acceptType = toArray(compare);\r\n let hasMime = acceptType.includes(ext);\r\n return !!hasMime;\r\n }\r\n\r\n public size(fileInstance:File[],compare:number): boolean{\r\n if(!!!fileInstance || fileInstance.length == 0 || !!!compare)\r\n return false;\r\n\r\n let file = fileInstance[0];\r\n return file.size <= compare * 1024;\r\n }\r\n\r\n public dimension(fileInstance:File[], compare:string | string[]): Observable<any>{\r\n if(!!!fileInstance || fileInstance.length == 0 || compare.length === 0)\r\n return of(false);\r\n\r\n let file = fileInstance[0];\r\n let type = file.type;\r\n\r\n if(!type.startsWith('image/'))\r\n return of(false);\r\n\r\n let dimension = toArray(compare);\r\n let image = new Image();\r\n let height = 0;\r\n let width = 0;\r\n let ratio = 0;\r\n let heightMatch = 'equal';\r\n let widthMatch = 'equal';\r\n\r\n //max_height=200 | max_height=200 | height = 200\r\n //min_width=200 | min_width=200 | width = 200\r\n //ratio=1.2\r\n\r\n dimension.forEach(el => {\r\n if(el.includes('_height=') || el.startsWith('height=')){\r\n height = parseInt(el.split('=')[1] || 0)\r\n heightMatch = ['max','min'].includes((el.split('=')[0]).split('_')[0]) ? (el.split('=')[0]).split('_')[0] : 'equal'\r\n }\r\n\r\n if(el.includes('_width=') || el.startsWith('width=')){\r\n width = parseInt(el.split('=')[1] || 0 )\r\n widthMatch = ['max','min'].includes((el.split('=')[0]).split('_')[0]) ? (el.split('=')[0]).split('_')[0] : 'equal'\r\n }\r\n\r\n if(el.includes('ratio=')){\r\n ratio = parseFloat(el.split('=')[1])\r\n }\r\n });\r\n\r\n image.src = window.URL.createObjectURL(file);\r\n\r\n return from(new Promise((resolve)=>{\r\n image.onload = () =>{\r\n let isValid = false\r\n if(ratio){\r\n isValid = ((image.width/image.height).toFixed(1) === ratio.toFixed(1));\r\n }else{\r\n let isValidWidth = width ? this.doComparison(image.width,width,widthMatch) : true;\r\n let isValidHeight = height ? this.doComparison(image.height,height,heightMatch) : true;\r\n isValid = (isValidWidth && isValidHeight) as boolean\r\n }\r\n resolve(isValid);\r\n }\r\n }));\r\n }\r\n\r\n\r\n private doComparison(matchWith: number, matchTo: number, operator = 'equal'): boolean {\r\n let compareState = false;\r\n if (operator == 'equal') { compareState = matchWith == matchTo }\r\n if (operator == 'min') { compareState = matchWith >= matchTo }\r\n if (operator == 'max') { compareState = matchWith <= matchTo }\r\n return compareState;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UtilService } from './utils.service';\r\nimport { MessageBuilderService } from './messages-builder.service';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ASYNC_RULES, CROSS_FIELD_VALIDATORS, FILE_TYPE_RULES, GlobalConstant } from '../constant';\r\nimport { AbstractControl, FormControl, ValidationErrors } from '@angular/forms';\r\nimport { camelCase, toArray } from '../common.utils';\r\nimport { AbstractControl2, LocalizedMessageGroup } from '../interface';\r\n\r\n@Injectable()\r\nexport class ValidateRuleService {\r\n\r\n private subMessageMethod = ['max','min'];\r\n private wiredRulesMap = new WeakMap<AbstractControl, boolean>();\r\n\r\n constructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate utl : UtilService\r\n ){}\r\n\r\n public gererateRuleAndValidate(fieldName: string, control: AbstractControl2, rule: string | string[], custom_message:LocalizedMessageGroup): ValidationErrors | null {\r\n\t\tlet messages \t = {} as any;\r\n let generateRules = toArray(rule,'|');\r\n let activeRules = generateRules.map(v => v.includes(':') ? v.split(':')[0]:v);\r\n let isRequiredGroup = !!activeRules.find(v => v.startsWith('required'))\r\n\r\n if(!isRequiredGroup && !!!control.value){\r\n return null;\r\n }\r\n\r\n\t\tfor (let i = 0; i < generateRules.length; i++) {\r\n let isValid = null;\r\n let controlArgs = null\r\n let emitData = {} as any;\r\n\t\t\tlet rule \t\t= generateRules[i];\r\n\t\t\tlet methodName \t= rule.includes(':') ? rule.split(':')[0] : rule;\r\n let args \t\t= rule.includes(':') ? rule.split(':')[1] : '';\r\n\t\t\tlet mulArg \t\t= args.includes(',') ? args.split(',') : [args];\r\n\r\n let currentRule = methodName;\r\n let isCrossFieldRule = CROSS_FIELD_VALIDATORS.includes(currentRule)\r\n let messageKey = methodName;\r\n\r\n methodName = camelCase(methodName);\r\n let emitFnName = camelCase(`get_${messageKey}_data`);\r\n\r\n if(typeof this.utl[methodName as keyof UtilService] !== 'function' || ASYNC_RULES.indexOf(methodName) >= 0)\r\n continue;\r\n\r\n\t\t\tif(this.subMessageMethod.indexOf(methodName) >= 0){\r\n messageKey = this.getMessageKeyRespectToValue(control.value,messageKey);\r\n }\r\n\r\n if(CROSS_FIELD_VALIDATORS.includes(messageKey)){\r\n controlArgs = control\r\n }\r\n else if(FILE_TYPE_RULES.includes(messageKey)){\r\n controlArgs = control['nativeElement'] ? control['nativeElement']['files'] : null\r\n }\r\n else{\r\n controlArgs = control.value\r\n }\r\n\r\n isCrossFieldRule && this.wireSiblingWatchers(controlArgs, fieldName, currentRule, args)\r\n\r\n isValid = this.utl[methodName as keyof UtilService](controlArgs,args);\r\n\r\n if(typeof this.utl[emitFnName as keyof UtilService] === 'function'){\r\n emitData[messageKey] = this.utl[emitFnName as keyof UtilService](control.value,mulArg);\r\n }\r\n\r\n this.utl.setValidationRules(control,activeRules,emitData);\r\n\r\n if(!isValid){\r\n messages[messageKey] = this.mb.call(messageKey, fieldName, ...mulArg, custom_message)\r\n break;\r\n }\r\n }\r\n\r\n if(Object.keys(messages).length > 0){\r\n return messages\r\n }else{\r\n return null;\r\n }\r\n }\r\n\r\n private getMessageKeyRespectToValue(value: any, messageKey: string): string {\r\n if (this.utl.array(value)) { return `${messageKey}.array`; }\r\n if (this.utl.string(value)) { return `${messageKey}.string`; }\r\n if (this.utl.integer(value)) { return `${messageKey}.numeric`; }\r\n return messageKey;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl2, input: string, rule: string, dependents: string): void {\r\n let ctrlNames = toArray(dependents)\r\n if (rule === 'confirmed') {\r\n ctrlNames = [dependents || (`${input}_confirmation`)];\r\n }\r\n\r\n let wiredRules = this.wiredRulesMap.get(control);\r\n if (!wiredRules) {\r\n this.wiredRulesMap.set(control, true);\r\n ctrlNames.forEach(name => {\r\n let ctrl = control.root.get(name) as FormControl\r\n if (ctrl) {\r\n ctrl.valueChanges.pipe(debounceTime(200))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { Directive, Input,ElementRef} from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { ValidateRuleService } from '../services/validate-rule.service';\r\nimport { LocalizedMessageGroup } from '../interface';\r\n\r\n@Directive({\r\n\tselector: '[Rule], [rule]',\r\n\tproviders: [{ provide: NG_VALIDATORS, useExisting: Rule, multi: true }]\r\n})\r\nexport class Rule implements Validator{\r\n\r\n private vmessage : LocalizedMessageGroup = {}\r\n private fieldName: string = 'field';\r\n\r\n\t@Input('Rule') rule !: string | string[];\r\n\t@Input('message')\r\n set message(data: LocalizedMessageGroup) {\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate ruleValidate : ValidateRuleService,\r\n\t\tprivate el \t\t\t : ElementRef,\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\treturn this.ruleValidate.gererateRuleAndValidate(this.fieldName,control,this.rule,this.vmessage);\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[above]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Above, multi: true }]\r\n})\r\nexport class Above implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('above') above : number = 0;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl) : ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'above');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:number) : ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.above(value,this.above)){\r\n\t\t\treturn {'above': this.mb.call('above',this.fieldName,this.above,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\n\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[accepted]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Accepted, multi: true }]\r\n})\r\nexport class Accepted implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('accepted') accepted : any;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'accepted');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:any): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.accepted(value)){\r\n\t\t\treturn {'accepted': this.mb.call('accepted',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[after]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: After, multi: true }]\r\n})\r\nexport class After implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('after') after : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'after');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let [matchWithDate, matchWithDateFormat] = Array.isArray(this.after) ? this.after : this.after.split(',')\r\n if (!!value && !this.utl.after(value, this.after)) {\r\n return { 'after': this.mb.call('after', this.fieldName, matchWithDate, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alpha]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Alpha, multi: true }]\r\n})\r\nexport class Alpha implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alpha(value)){\r\n\t\t\treturn {'alpha': this.mb.call('alpha',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alphaNumeric]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AlphaNumeric, multi: true }]\r\n})\r\nexport class AlphaNumeric implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha_numeric');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alphaNumeric(value)){\r\n\t\t\treturn {'alpha_numeric': this.mb.call('alpha_numeric',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[array]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Array, multi: true }]\r\n})\r\nexport class Array implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'array');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.array(value)){\r\n\t\t\treturn {'array': this.mb.call('array',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[before]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Before, multi: true }]\r\n})\r\nexport class Before implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('before') before : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'before');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let [matchWithDate, matchWithDateFormat] = Array.isArray(this.before) ? this.before : this.before.split(',')\r\n if (!!value && !this.utl.before(value, this.before)) {\r\n return { 'before': this.mb.call('before', this.fieldName, matchWithDate, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[boolean]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Boolean, multi: true }]\r\n})\r\nexport class Boolean implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'boolean');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.boolean(value)){\r\n\t\t\treturn {'boolean': this.mb.call('boolean',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[confirmed]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Confirmed, multi: true }]\r\n})\r\nexport class Confirmed implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('confirmed') confirmed : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'confirmed');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.confirmed,this.fieldName);\r\n\t}\r\n\r\n private isValid(control: AbstractControl, args: string, fieldName: any): ValidationErrors | null {\r\n\t\tif(!!control.value && !this.utl.confirmed(control,args,fieldName)){\r\n\t\t\treturn {'confirmed': this.mb.call('confirmed',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let ctrlName = this.confirmed || (`${this.fieldName}_confirmation`);\r\n let sibling = control.root.get(ctrlName) as FormControl;\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { DEFAULT_DATE_FORMAT } from '../../constant';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[date]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Date, multi: true }]\r\n})\r\n\r\nexport class Date implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('date') date : string = ''\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'date');\r\n\t\treturn this.isValid(control.value,this.date || DEFAULT_DATE_FORMAT);\r\n\t}\r\n\r\n\tprivate isValid(value:string,format:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.date(value,format)){\r\n\t\t\treturn {'date': this.mb.call('date',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { DEFAULT_DATE_FORMAT } from '../../constant';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[dateFormat]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DateFormat, multi: true }]\r\n})\r\n\r\nexport class DateFormat implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('dateFormat') dateFormat : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'date_format');\r\n return this.isValid(control.value, this.dateFormat || DEFAULT_DATE_FORMAT);\r\n }\r\n\r\n private isValid(value: string, format: string): ValidationErrors | null {\r\n if (!!value && !this.utl.dateFormat(value, format)) {\r\n return { 'date_format': this.mb.call('date_format', this.fieldName, this.dateFormat, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[different]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Different, multi: true }]\r\n})\r\nexport class Different implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('different') different : any;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n\tvalidate(control: AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'different');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.different);\r\n\t}\r\n\r\n\r\n private isValid(control: AbstractControl, compared_value: string): ValidationErrors | null {\r\n if (!!control.value && !this.utl.different(control, compared_value)) {\r\n return { 'different': this.mb.call('different', this.fieldName, this.different, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let sibling = control.root.get(this.different) as FormControl;\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$)).subscribe(() => {\r\n control.updateValueAndValidity({ onlySelf: true });\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[email]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Email, multi: true }]\r\n})\r\nexport class Email implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'email');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.email(value)) {\r\n return { 'email': this.mb.call('email', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[endsWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EndsWith, multi: true }]\r\n})\r\nexport class EndsWith implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('endsWith') endsWith : string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'ends_with');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.endsWith(value,this.endsWith)){\r\n\t\t\treturn {'ends_with': this.mb.call('ends_with',this.fieldName,this.endsWith,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[equals]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Equals, multi: true }]\r\n})\r\nexport class Equals implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('equals') equals : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl) : ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'equals');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string) : ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.equals(value,this.equals)){\r\n\t\t\treturn {'equals': this.mb.call('equals',this.fieldName,this.equals,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[in]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: In, multi: true }]\r\n})\r\nexport class In implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('in') in : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'in');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.in(value,this.in)){\r\n\t\t\treturn {'in': this.mb.call('in',this.fieldName,this.in,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[includes]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Includes, multi: true }]\r\n})\r\nexport class Includes implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('includes') includes : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'includes');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.includes(value, this.includes)) {\r\n return { 'includes': this.mb.call('includes', this.fieldName, this.includes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[integer]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Integer, multi: true }]\r\n})\r\nexport class Integer implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'integer');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.integer(value)) {\r\n return { 'integer': this.mb.call('integer', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ip]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Ip, multi: true }]\r\n})\r\nexport class Ip implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ip');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.ip(value)) {\r\n return { 'ip': this.mb.call('ip', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ipv4]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Ipv4, multi: true }]\r\n})\r\nexport class Ipv4 implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ipv4');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.ipv4(value)) {\r\n return { 'ipv4': this.mb.call('ipv4', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[ipv6]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Ipv6, multi: true }]\r\n})\r\nexport class Ipv6 implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'ipv6');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.ipv6(value) && !!value) {\r\n return { 'ipv6': this.mb.call('ipv6', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[json]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Json, multi: true }]\r\n})\r\nexport class Json implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'json');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.json(value)) {\r\n return { 'json': this.mb.call('json', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[max]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Max, multi: true }]\r\n})\r\nexport class Max implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('max') max !: number;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'max');\r\n return this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let fnName = 'max.string';\r\n if (this.utl.integer(value)) { fnName = 'max.numeric'; }\r\n if (this.utl.array(value)) { fnName = 'max.array'; }\r\n\r\n if (!this.utl.max(value, this.max) && !!value) {\r\n return { 'max': this.mb.call(fnName, this.fieldName, this.max, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[min]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Min, multi: true }]\r\n})\r\nexport class Min implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n\t@Input('min') min !: number;\r\n\t@Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'min');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n let fnName = 'min.string';\r\n if (this.utl.integer(value)) { fnName = 'min.numeric'; }\r\n if (this.utl.array(value)) { fnName = 'min.array'; }\r\n\r\n if (!!value && !this.utl.min(value, this.min)) {\r\n return { 'min': this.mb.call(fnName, this.fieldName, this.min, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notEquals],[notEqual]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotEquals, multi: true }]\r\n})\r\nexport class NotEquals implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notEquals') notEquals : any\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_equals');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notEquals(value, this.notEquals)) {\r\n return { 'not_equals': this.mb.call('not_equals', this.fieldName, this.notEquals, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notIn]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotIn, multi: true }]\r\n})\r\nexport class NotIn implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notIn') notIn : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_in');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notIn(value, this.notIn)) {\r\n return { 'not_in': this.mb.call('not_in', this.fieldName, this.notIn, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[number]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Number, multi: true }]\r\n})\r\nexport class Number implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'number');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.number(value)) {\r\n return { 'number': this.mb.call('number', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[range]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Range, multi: true }]\r\n})\r\nexport class Range implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('range') range \t: string | string[] | number[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'range');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.range(value, this.range) && !!value) {\r\n return { 'range': this.mb.call('range', this.fieldName, ...toArray(this.range), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[between]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Between, multi: true }]\r\n})\r\nexport class Between implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('between') between : string | string[] | number[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'range');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.between(value, this.between) && !!value) {\r\n return { 'between': this.mb.call('between', this.fieldName, ...toArray(this.between), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[regex]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Regex, multi: true }]\r\n})\r\nexport class Regex implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('regex') regex : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'regex');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.regex(value, this.regex)) {\r\n return { 'regex': this.mb.call('regex', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef,Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS,Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[same]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Same, multi: true }]\r\n})\r\nexport class Same implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('same') same !: string;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'same');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.same);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string): ValidationErrors | null {\r\n if (!this.utl.same(control, args) && !!control.value) {\r\n return { 'same': this.mb.call('same', this.fieldName, this.same, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let sibling = control.root.get(this.same);\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef,Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[startsWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: StartsWith, multi: true }]\r\n})\r\nexport class StartsWith implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('startsWith') startsWith : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'starts_with');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.startsWith(value, this.startsWith)) {\r\n return { 'starts_with': this.mb.call('starts_with', this.fieldName, this.startsWith, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[string]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: String, multi: true }]\r\n})\r\nexport class String implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'string');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.string(value) && !!value) {\r\n return { 'string': this.mb.call('string', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[under]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Under, multi: true }]\r\n})\r\nexport class Under implements Validator {\r\n\r\n private vmessage: LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('under') under: any;\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb : MessageBuilderService,\r\n private el : ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'under');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.under(value, this.under)) {\r\n return { 'under': this.mb.call('under', this.fieldName, this.under, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[url]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Url, multi: true }]\r\n})\r\nexport class Url implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'url');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.url(value)) {\r\n return { 'url': this.mb.call('url', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[alphaDash]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: AlphaDash, multi: true }]\r\n})\r\nexport class AlphaDash implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'alpha_dash');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.alphaDash(value)){\r\n\t\t\treturn {'alpha_dash': this.mb.call('alpha_dash',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[notRegex]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: NotRegex, multi: true }]\r\n})\r\nexport class NotRegex implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('notRegex') notRegex : string = '';\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'not_regex');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.notRegex(value, this.notRegex)) {\r\n return { 'not_regex': this.mb.call('not_regex', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[uuid]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Uuid, multi: true }]\r\n})\r\nexport class Uuid implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'uuid');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.uuid(value)) {\r\n return { 'uuid': this.mb.call('uuid', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { debounceTime, distinctUntilChanged, first, map, Observable, of, switchMap } from 'rxjs';\r\nimport { HttpRequestArgs, LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { cloneDeep } from '../../common.utils';\r\n\r\n@Directive({\r\n selector: '[unique]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: Unique, multi: true }]\r\n})\r\nexport class Unique implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('unique') unique !: HttpRequestArgs;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService,\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n this.utl.setValidationRules(control, 'unique');\r\n return control.valueChanges.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n switchMap((value) => value ? this.isValid(value) : of(null)),\r\n first()\r\n )\r\n }\r\n\r\n private isValid(value: string): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let cloned = cloneDeep(this.unique)\r\n let request = { ...{ [this.unique.field || this.fieldName]: value }, ...cloned['request'] }\r\n let unique = Object.assign(cloned,{request})\r\n\r\n return this.utl.unique(unique).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'unique': this.mb.call('unique', this.fieldName, this.vmessage) } : null\r\n })\r\n );\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[creditCard]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: CreditCard, multi: true }]\r\n})\r\nexport class CreditCard implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'credit_card',{\r\n\t\t\tcredit_card:this.utl.getCreditCardData(control.value)\r\n\t\t});\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.creditCard(value)){\r\n\t\t\treturn {'credit_card': this.mb.call('credit_card',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[debitCard]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: DebitCard, multi: true }]\r\n})\r\nexport class DebitCard implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name;}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'debit_card',{\r\n\t\t\tdebit_card:this.utl.getCreditCardData(control.value)\r\n\t\t});\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n private isValid(value: number): ValidationErrors | null {\r\n if (!!value && !this.utl.debitCard(value)) {\r\n return { 'debit_card': this.mb.call('debit_card', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[cvv]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Cvv, multi: true }]\r\n})\r\nexport class Cvv implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'cvv');\r\n\t\treturn this.isValid(control.value);\r\n\t}\r\n\r\n\tprivate isValid(value:string): ValidationErrors | null{\r\n\t\tif(!!value && !this.utl.cvv(value)){\r\n\t\t\treturn {'cvv': this.mb.call('cvv',this.fieldName,this.vmessage)}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[strength]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Strength, multi: true }]\r\n})\r\nexport class Strength implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field'\r\n\r\n\t@Input('strength') strength : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'strength', {\r\n strength: this.utl.getStrengthData(control.value, this.strength)\r\n });\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.strength(value, this.strength)) {\r\n return { 'strength': this.mb.call('strength', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[PhoneNo],[phone]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: PhoneNo, multi: true }]\r\n})\r\nexport class PhoneNo implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('PhoneNo') PhoneNo : string | null = null;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'phone_no');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!!value && !this.utl.phoneNo(value, this.PhoneNo)) {\r\n return { 'phone_no': this.mb.call('phone_no', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[required]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Required, multi: true }]\r\n})\r\nexport class Required implements Validator{\r\n\r\n\tprivate vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required');\r\n return this.isValid(control.value);\r\n }\r\n\r\n private isValid(value: string): ValidationErrors | null {\r\n if (!this.utl.required(value)) {\r\n return { 'required': this.mb.call('required', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredIf]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredIf, multi: true }]\r\n})\r\nexport class RequiredIf implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('requiredIf') requiredIf : string | string[] = [];\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_if');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredIf);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredIf(control, args)) {\r\n let _args = toArray(args);\r\n return { 'required_if': this.mb.call('required_if', this.fieldName, ..._args, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let [name, ...args] = toArray(this.requiredIf)\r\n let sibling = control.root.get(name) as FormControl\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive,ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[requiredUnless]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredUnless, multi: true }]\r\n})\r\nexport class RequiredUnless implements Validator, OnDestroy{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('requiredUnless') requiredUnless : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n \tvalidate(control:AbstractControl): ValidationErrors | null{\r\n\t\tthis.utl.setValidationRules(control,'required_unless');\r\n this.wireSiblingWatchers(control)\r\n\t\treturn this.isValid(control,this.requiredUnless)\r\n\t}\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredUnless(control, args)) {\r\n return { 'required_unless': this.mb.call('required_unless', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let [name, ...args] = toArray(this.requiredUnless)\r\n let sibling = control.root.get(name) as FormControl\r\n\r\n if (!sibling) return;\r\n this.wired = true;\r\n\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[requiredWith]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWith, multi: true }]\r\n})\r\nexport class RequiredWith implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWith') requiredWith : string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb : MessageBuilderService,\r\n private el : ElementRef,\r\n private utl : UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_with');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWith)\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWith(control, args)) {\r\n return { 'required_with': this.mb.call('required_with', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWith)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[requiredWithAll]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithAll, multi: true }]\r\n})\r\nexport class RequiredWithAll implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithAll') requiredWithAll: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_with_all');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithAll);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithAll(control, args)) {\r\n return { 'required_with_all': this.mb.call('required_with_all', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithAll)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { debounceTime, Subject, takeUntil } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredWithout]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithout, multi: true }]\r\n})\r\nexport class RequiredWithout implements Validator {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithout') requiredWithout: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_without');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithout)\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithout(control, args)) {\r\n return { 'required_without': this.mb.call('required_without', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithout)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200),takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnDestroy } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { Subject, takeUntil, debounceTime } from 'rxjs';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n\r\n@Directive({\r\n selector: '[requiredWithoutAll]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: RequiredWithoutAll, multi: true }]\r\n})\r\nexport class RequiredWithoutAll implements Validator, OnDestroy {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private destroy$ : Subject<void> = new Subject<void>();\r\n private wired : boolean = false;\r\n private fieldName : string = 'field';\r\n\r\n @Input('requiredWithoutAll') requiredWithoutAll: string | string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'required_without_all');\r\n this.wireSiblingWatchers(control)\r\n return this.isValid(control, this.requiredWithoutAll);\r\n }\r\n\r\n private isValid(control: AbstractControl, args: string | string[]): ValidationErrors | null {\r\n if (!this.utl.requiredWithoutAll(control, args)) {\r\n return { 'required_without_all': this.mb.call('required_without_all', this.fieldName, ...toArray(args), this.vmessage) }\r\n }\r\n return null;\r\n }\r\n\r\n private wireSiblingWatchers(control: AbstractControl): void {\r\n if (this.wired) return;\r\n let names = toArray(this.requiredWithoutAll)\r\n let siblings = names.map(name => control.root.get(name) as FormControl)\r\n\r\n if (siblings.filter(Boolean).length !== names.length) return;\r\n this.wired = true;\r\n\r\n siblings.forEach(sibling => {\r\n sibling.valueChanges.pipe(debounceTime(200), takeUntil(this.destroy$))\r\n .subscribe(() => control.updateValueAndValidity({ onlySelf: true }));\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { toArray } from '../../common.utils';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[mimes]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Mimes, multi: true }]\r\n})\r\nexport class Mimes implements Validator {\r\n\r\n private vmessage: LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('mimes') mimes: string | string[] = [];\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'mimes');\r\n return this.isValid(this.el.nativeElement.files, this.mimes)\r\n }\r\n\r\n protected isValid(fileInstance: File[], mimes: string | string[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && this.utl.mimes(fileInstance, mimes)) {\r\n let _mimes = toArray(mimes)\r\n return { 'mimes': this.mb.call('mimes', this.fieldName, ..._mimes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[size]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Size, multi: true }]\r\n})\r\nexport class Size implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('size') size !:number;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'mimes');\r\n return this.isValid(this.el.nativeElement.files, this.size)\r\n }\r\n\r\n private isValid(fileInstance: File[], mimes: number): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.size(fileInstance, mimes)) {\r\n return { 'size': this.mb.call('size', this.fieldName, mimes, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\n\r\n@Directive({\r\n selector: '[dimension]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: Dimension, multi: true }]\r\n})\r\nexport class Dimension implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('dimension') dimension : string[] = [];\r\n @Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService,\r\n private mb\t: MessageBuilderService,\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n this.utl.setValidationRules(control, 'dimension');\r\n return this.isValid()\r\n }\r\n\r\n private isValid(): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let files = this.el.nativeElement.files as File[];\r\n if(files.length === 0){\r\n return of(null)\r\n }\r\n return this.utl.dimension(files, this.dimension).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'dimension': this.mb.call('dimension', this.fieldName, this.dimension, this.vmessage) } : null\r\n })\r\n )\r\n }\r\n}\r\n","import { Directive, Input, ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[image]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Image, multi: true }]\r\n})\r\nexport class Image implements Validator {\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName: string = 'field';\r\n\r\n @Input('message')\r\n set message(data: LocalizedMessage) {\r\n this.vmessage = data\r\n }\r\n\r\n constructor(\r\n private mb: MessageBuilderService,\r\n private el: ElementRef,\r\n private utl: UtilService\r\n ) { this.fieldName = this.el.nativeElement.name }\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'image');\r\n return this.isValid(this.el.nativeElement.files);\r\n }\r\n\r\n private isValid(fileInstance: File[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.image(fileInstance)) {\r\n return { 'image': this.mb.call('image', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n\r\n","import { Directive, Input,ElementRef } from '@angular/core';\r\nimport { NG_VALIDATORS, Validator,AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { LocalizedMessage } from '../../interface';\r\n\r\n@Directive({\r\n selector: '[video]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: Video, multi: true }]\r\n})\r\nexport class Video implements Validator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate mb\t: MessageBuilderService,\r\n\t\tprivate el \t: ElementRef,\r\n\t\tprivate utl : UtilService\r\n\t){this.fieldName = this.el.nativeElement.name}\r\n\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n this.utl.setValidationRules(control, 'video');\r\n return this.isValid(this.el.nativeElement.files);\r\n }\r\n\r\n private isValid(fileInstance: File[]): ValidationErrors | null {\r\n if (!!fileInstance && fileInstance.length > 0 && !this.utl.video(fileInstance)) {\r\n return { 'video': this.mb.call('video', this.fieldName, this.vmessage) }\r\n }\r\n return null;\r\n }\r\n}\r\n\r\n\r\n","import { distinctUntilChanged, first } from 'rxjs/operators';\r\nimport { Directive,ElementRef, Input } from '@angular/core';\r\nimport { NG_ASYNC_VALIDATORS, AsyncValidator, AbstractControl, ValidationErrors } from '@angular/forms';\r\nimport { UtilService } from '../../services/utils.service';\r\nimport { debounceTime, map, Observable, of, switchMap } from 'rxjs';\r\nimport { HttpRequestArgs, LocalizedMessage } from '../../interface';\r\nimport { MessageBuilderService } from '../../services/messages-builder.service';\r\nimport { cloneDeep } from '../../common.utils';\r\n\r\n\r\n@Directive({\r\n selector: '[exists]',\r\n providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: Exists, multi: true }]\r\n})\r\nexport class Exists implements AsyncValidator{\r\n\r\n private vmessage : LocalizedMessage = {}\r\n private fieldName : string = 'field';\r\n\r\n\t@Input('exists') exists !: HttpRequestArgs;\r\n\t@Input('message')\r\n set message(data:LocalizedMessage){\r\n this.vmessage = data\r\n }\r\n\r\n\tconstructor(\r\n\t\tprivate el \t : ElementRef,\r\n\t\tprivate utl : UtilService,\r\n\t\tprivate mb\t : MessageBuilderService,\r\n\t){\r\n this.fieldName = this.el.nativeElement.name\r\n }\r\n\r\n validate(control:AbstractControl) : Promise<ValidationErrors|null>| Observable<ValidationErrors|null> {\r\n\t\tthis.utl.setValidationRules(control,'exists');\r\n return control.valueChanges.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n switchMap((value) => value ? this.isValid(value) : of(null)),\r\n first()\r\n )\r\n\t}\r\n\r\n private isValid(value: string): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> {\r\n let cloned = cloneDeep(this.exists)\r\n let request = { ...{ [this.exists.field || this.fieldName]: value }, ...cloned['request'] }\r\n let exists = Object.assign(cloned,{request})\r\n\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'exists': this.mb.call('exists', this.fieldName, this.vmessage) } : null\r\n })\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MessageBuilderService } from '../services/messages-builder.service';\r\nimport { ValidateRuleService } from '../services/validate-rule.service';\r\nimport { UtilService } from '../services/utils.service';\r\nimport { Rule } from './rule.directive';\r\nimport { Above } from './above/above.directive';\r\nimport { Accepted } from './accepted/accepted.directive';\r\nimport { After } from './after/after.directive';\r\nimport { Alpha } from './alpha/alpha.directive';\r\nimport { AlphaNumeric } from './alpha_numeric/alpha-numeric.directive';\r\nimport { Array } from './array/array.directive';\r\nimport { Before } from './before/before.directive';\r\nimport { Boolean } from './boolean/boolean.directive';\r\nimport { Confirmed } from './confirmed/confirmed.directive';\r\nimport { Date } from './date/date.directive';\r\nimport { DateFormat } from './date_format/date-format.directive';\r\nimport { Different } from './different/different.directive';\r\nimport { Email } from './email/email.directive';\r\nimport { EndsWith } from './ends_with/ends-with.directive';\r\nimport { Equals } from './equals/equals.directive';\r\nimport { In } from './in/in.directive';\r\nimport { Includes } from './includes/includes.directive';\r\nimport { Integer } from './integer/integer.directive';\r\nimport { Ip } from './ip/ip.directive';\r\nimport { Ipv4 } from './ipv4/ipv4.directive';\r\nimport { Ipv6 } from './ipv6/ipv6.directive';\r\nimport { Json } from './json/json.directive';\r\nimport { Max } from './max/max.directive';\r\nimport { Min } from './min/min.directive';\r\nimport { NotEquals } from './not_equals/not-equals.directive';\r\nimport { NotIn } from './not_in/not-in.directive';\r\nimport { Number } from './number/number.directive';\r\nimport { Range } from './range/range.directive';\r\nimport { Between } from './between/between.directive';\r\nimport { Regex } from './regex/regex.directive';\r\nimport { Same } from './same/same.directive';\r\nimport { StartsWith } from './starts_with/starts-with.directive';\r\nimport { String } from './string/string.directive';\r\nimport { Under } from './under/under.directive';\r\nimport { Url } from './url/url.directive';\r\nimport { AlphaDash } from './alpha_dash/alpha-dash.directive';\r\nimport { NotRegex } from './not_regex/not-regex.directive';\r\nimport { Uuid } from './uuid/uuid.directive';\r\nimport { Unique } from './unique/unique.directive';\r\nimport { CreditCard } from './credit_card/credit-card.directive';\r\nimport { DebitCard } from './debit_card/debit-card.directive';\r\nimport { Cvv } from './cvv/cvv.directive';\r\nimport { Strength } from './strength/strength.directive';\r\nimport { PhoneNo } from './phone_no/phone-no.directive';\r\nimport { Required } from '../rule/required/required.directive';\r\nimport { RequiredIf } from './required_if/required-if.directive';\r\nimport { RequiredUnless } from './required_unless/required-unless.directive';\r\nimport { RequiredWith } from './required_with/required-with.directive';\r\nimport { RequiredWithAll } from './required_with_all/required-with-all.directive';\r\nimport { RequiredWithout } from './required_without/required-without.directive';\r\nimport { RequiredWithoutAll } from './required_without_all/required-without-all.directive';\r\nimport { Mimes } from './mimes/mimes.directive';\r\nimport { Size } from './size/size.directive';\r\nimport { Dimension } from './dimension/dimension.directive';\r\nimport { Image } from './image/image.directive';\r\nimport { Video } from './video/video.directive';\r\nimport { Exists } from './exists/exists.directive';\r\n\r\n\r\nconst RULES = [\r\n Rule, Required, Above, Accepted, After, Alpha, AlphaNumeric, Array, Url, Date, Before, Boolean, Confirmed,\r\n DateFormat, Different, Email, In, Equals, EndsWith, Includes, Ipv4, Same, Ip, Ipv6, Json, Max, Min, NotEquals,\r\n NotIn, StartsWith, Range, Between, Regex, Integer, Number, String, Under, NotRegex, Uuid, Unique, CreditCard,\r\n DebitCard, Cvv, Strength, PhoneNo, RequiredIf, RequiredUnless, RequiredWith, RequiredWithAll, RequiredWithout,\r\n RequiredWithoutAll, Mimes, Size, Dimension, Image, Video, Exists, AlphaDash\r\n];\r\n\r\n@NgModule({\r\n declarations: [...RULES],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n UtilService,\r\n ValidateRuleService,\r\n MessageBuilderService,\r\n ],\r\n exports: [\r\n ...RULES\r\n ],\r\n\r\n})\r\nexport class RuleModule { }\r\n","import { FormGroupDirective, NgForm } from '@angular/forms';\nimport { Directive, Inject, Input, Optional } from '@angular/core';\nimport { ErrorTriggerState, FormGroupDirective2, NgForm2 } from '../../interface';\n\n@Directive({\n selector: 'form[ErrorTriggerOn]'\n})\nexport class ErrorTriggerOn {\n\n constructor(\n @Optional() @Inject(FormGroupDirective) private FormGroupDirective: FormGroupDirective2,\n @Optional() @Inject(NgForm) private NgForm: NgForm2\n ) { }\n\n @Input('ErrorTriggerOn')\n set message(triggerState: ErrorTriggerState[]) {\n this.NgForm && (this.NgForm.errorTriggerOn = triggerState)\n this.FormGroupDirective && (this.FormGroupDirective.errorTriggerOn = triggerState)\n }\n}\n","import { AbstractControl, ValidatorFn, ValidationErrors, FormGroup } from '@angular/forms';\r\nimport { Injectable } from '@angular/core';\r\nimport { ValidateRuleService } from './validate-rule.service';\r\nimport { GlobalConstant } from '../constant';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { AbstractControl2, HttpRequestArgs } from '../interface';\r\nimport { UtilService } from './utils.service';\r\nimport { MessageBuilderService } from './messages-builder.service';\r\n\r\n@Injectable()\r\nexport class ReactiveValidator {\r\n\r\n public fieldDefaultNameRule = GlobalConstant.fieldDefaultNameRule;\r\n public customFieldName = GlobalConstant.customFieldName;\r\n\r\n constructor(\r\n private rule: ValidateRuleService,\r\n private utl : UtilService,\r\n private mb : MessageBuilderService\r\n ) { }\r\n\r\n public map(rule: string | string[], message: any = {}): ValidatorFn {\r\n return (control: AbstractControl2): { [key: string]: boolean } | null => {\r\n let ctrlName = control[this.customFieldName] ?? (control[this.customFieldName] = this.getControlName(control));\r\n return ctrlName ? this.rule.gererateRuleAndValidate(ctrlName, control, rule, message) : null;\r\n };\r\n }\r\n\r\n public unique(exists: HttpRequestArgs, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fieldName = control[this.customFieldName] || null\r\n exists['request'] = { ...{ [exists.field || fieldName]: control.value }, ...exists['request'] }\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'unique': this.mb.call('unique', fieldName, message) } : null\r\n })\r\n );\r\n };\r\n }\r\n\r\n public exists(exists: HttpRequestArgs, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fieldName = control[this.customFieldName] || null\r\n exists['request'] = { ...{ [exists.field || fieldName]: control.value }, ...exists['request'] }\r\n return this.utl.exists(exists).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'exists': this.mb.call('exists', fieldName, message) } : null\r\n })\r\n );\r\n };\r\n }\r\n\r\n public dimension(args: any, message = {}): ValidatorFn {\r\n return (control: AbstractControl2): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\r\n if(!this || !this.customFieldName) return of(null)\r\n let fileInstance = control['nativeElement'] ? control['nativeElement'].files : null;\r\n let fieldName = control[this.customFieldName] || null\r\n return this.utl.dimension(fileInstance, args).pipe(\r\n map((isValid: boolean) => {\r\n return !isValid ? { 'dimension': this.mb.call('dimension', fieldName, args, message) } : null\r\n })\r\n )\r\n };\r\n }\r\n\r\n private getControlName(control: AbstractControl): string | null {\r\n const parent = control.parent;\r\n if (!parent) return null;\r\n\r\n const controls = (parent as FormGroup).controls;\r\n const name = Object.keys(controls).find(key => controls[key] === control);\r\n return name ?? null;\r\n }\r\n}\r\n","import { GlobalConstant } from '../../constant';\r\nimport { Directive,ElementRef,Input} from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n \tselector: '[formControl],[formControlName]'\r\n})\r\n\r\nexport class NativeElementDirective{\r\n\r\n\t@Input('formControlName') field_name : string = '';\r\n\r\n \tconstructor(\r\n\t\tprivate el \t\t: ElementRef,\r\n\t\tprivate control : NgControl\r\n\t){this.setNativElement();}\r\n\r\n\tsetNativElement(){\r\n\t\t//setTimeout(()=>{\r\n\t\t\tlet customElementName = GlobalConstant.customElementName;\r\n\t\t\tlet customFieldName = GlobalConstant.customFieldName;\r\n\t\t\tif(this.control && this.control.control){\r\n\t\t\t\t(this.control.control as any)[customElementName] = this.el.nativeElement;\r\n\t\t\t\t(this.control.control as any)[customFieldName] = this.el.nativeElement.name || this.field_name;\r\n\t\t\t}\r\n\t\t//})\r\n\t}\r\n}\r\n","export default {\n \"above\": \"The :attribute should be above :arg0.\",\n \"accepted\": \"The :attribute must be accepted.\",\n \"after\": \"The :attribute must be a date after :arg0.\",\n \"alpha\": \"The :attribute may only contain letters.\",\n \"alpha_dash\": \"The :attribute may only contain letters, numbers, dashes and underscores.\",\n \"alpha_numeric\": \"The :attribute may only contain letters and numbers.\",\n \"array\": \"The :attribute must be an array.\",\n \"before\": \"The :attribute must be a date before :arg0.\",\n \"boolean\": \"The :attribute field must be true or false.\",\n \"confirmed\": \"The :attribute confirmation does not match.\",\n \"credit_card\": \"The :attribute must be a valid credit card number.\",\n \"cvv\": \"The :attribute must be a valid CVV number.\",\n \"date\": \"The :attribute is not a valid date.\",\n \"date_format\": \"The :attribute does not match the format :arg0.\",\n \"debit_card\": \"The :attribute must be a valid debit card number.\",\n \"different\": \"The :attribute and :arg0 must be different.\",\n \"dimension\": \"The :attribute has invalid image dimension.\",\n \"email\": \"The :attribute must be a valid email address.\",\n \"ends_with\": \"The :attribute must end with one of the following :arg0:\",\n \"equals\": \"The :attribute must be equal with :arg0\",\n \"exists\": \"The selected :attribute is invalid.\",\n \"image\": \"The :attribute must be a valid image.\",\n \"in\": \"The selected :attribute must be in :arg0:.\",\n \"includes\": \"The :attribute must be contain with :arg0:.\",\n \"integer\": \"The :attribute must be an integer.\",\n \"ip\": \"The :attribute must be a valid IP address.\",\n \"ipv4\": \"The :attribute must be a valid IPv4 address.\",\n \"ipv6\": \"The :attribute must be a valid IPv6 address.\",\n \"json\": \"The :attribute must be a valid JSON string.\",\n \"max\": {\n \"array\": \"The :attribute may not have more than :arg0 items.\",\n \"numeric\": \"The :attribute may not be greater than :arg0.\",\n \"string\": \"The :attribute may not be greater than :arg0 characters.\"\n },\n \"min\": {\n \"array\": \"The :attribute must have at least :arg0 items.\",\n \"numeric\": \"The :attribute must be at least :arg0.\",\n \"string\": \"The :attribute must be at least :arg0 characters.\"\n },\n \"mimes\": \"The :attribute must be a file of type :arg0:.\",\n \"not_equals\": \"The :attribute must not be equal with :arg0\",\n \"not_in\": \"The selected :attribute must not be in :arg0:.\",\n \"not_regex\": \"The :attribute format is invalid.\",\n \"number\": \"The :attribute must be a number.\",\n \"phone_no\": \"The :attribute must be a valid phone number.\",\n \"range\": \"The :attribute must be between :arg0 and :arg1.\",\n \"between\": \"The :attribute must be between :arg0 and :arg1, exclusive of both.\",\n \"regex\": \"The :attribute format is invalid.\",\n \"required\": \"The :attribute field is required.\",\n \"required_if\": \"The :attribute field is required when :arg0 is :arg1.\",\n \"required_unless\": \"The :attribute field is required unless :arg0 is in :arg1:.\",\n \"required_with\": \"The :attribute field is required when any of :arg0: is present.\",\n \"required_with_all\": \"The :attribute field is required when :arg0: are present.\",\n \"required_without\": \"The :attribute field is required when :arg0: is not present.\",\n \"required_without_all\": \"The :attribute field is required when none of :arg0: are present.\",\n \"same\": \"The :attribute and :arg0 must match.\",\n \"size\": \"The :attribute must be :arg0 KB or less.\",\n \"starts_with\": \"The :attribute must start with one of the following :arg0\",\n \"string\": \"The :attribute must be a string.\",\n \"strength\": \"The :attribute is not strong enough.\",\n \"under\": \"The :attribute must be under :arg0.\",\n \"url\": \"The :attribute format is invalid.\",\n \"uuid\": \"The :attribute must be a valid UUID.\",\n \"unique\": \"The :attribute has already been taken.\",\n \"video\": \"The :attribute must be a valid video.\"\n}\n","export default {\n \"above\": \"Das Feld :attribute muss über :arg0 liegen.\",\n \"accepted\": \"Das Feld :attribute muss akzeptiert werden.\",\n \"after\": \"Das Feld :attribute muss ein Datum nach :arg0 sein.\",\n \"alpha\": \"Das Feld :attribute darf nur Buchstaben enthalten.\",\n \"alpha_dash\": \"Das Feld :attribute darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten.\",\n \"alpha_numeric\": \"Das Feld :attribute darf nur Buchstaben und Zahlen enthalten.\",\n \"array\": \"Das Feld :attribute muss ein Array sein.\",\n \"before\": \"Das Feld :attribute muss ein Datum vor :arg0 sein.\",\n \"boolean\": \"Das Feld :attribute muss wahr oder falsch sein.\",\n \"confirmed\": \"Die Bestätigung von :attribute stimmt nicht überein.\",\n \"credit_card\": \"Das Feld :attribute muss eine gültige Kreditkartennummer sein.\",\n \"cvv\": \"Das Feld :attribute muss eine gültige CVV-Nummer sein.\",\n \"date\": \"Das Feld :attribute ist kein gültiges Datum.\",\n \"date_format\": \"Das Feld :attribute entspricht nicht dem Format :arg0.\",\n \"debit_card\": \"Das Feld :attribute muss eine gültige Debitkartennummer sein.\",\n \"different\": \"Die Felder :attribute und :arg0 müssen unterschiedlich sein.\",\n \"dimension\": \"Das Feld :attribute hat eine ungültige Bildgröße.\",\n \"email\": \"Das Feld :attribute muss eine gültige E-Mail-Adresse sein.\",\n \"ends_with\": \"Das Feld :attribute muss mit einem der folgenden Werte enden: :arg0:\",\n \"equals\": \"Das Feld :attribute muss gleich :arg0 sein.\",\n \"exists\": \"Das ausgewählte Feld :attribute ist ungültig.\",\n \"image\": \"Das Feld :attribute muss ein gültiges Bild sein.\",\n \"in\": \"Das ausgewählte Feld :attribute muss in :arg0: enthalten sein.\",\n \"includes\": \"Das Feld :attribute muss :arg0: enthalten.\",\n \"integer\": \"Das Feld :attribute muss eine ganze Zahl sein.\",\n \"ip\": \"Das Feld :attribute muss eine gültige IP-Adresse sein.\",\n \"ipv4\": \"Das Feld :attribute muss eine gültige IPv4-Adresse sein.\",\n \"ipv6\": \"Das Feld :attribute muss eine gültige IPv6-Adresse sein.\",\n \"json\": \"Das Feld :attribute muss eine gültige JSON-Zeichenfolge sein.\",\n \"max\": {\n \"array\": \"Das Feld :attribute darf nicht mehr als :arg0 Elemente enthalten.\",\n \"numeric\": \"Das Feld :attribute darf nicht größer als :arg0 sein.\",\n \"string\": \"Das Feld :attribute darf nicht länger als :arg0 Zeichen sein.\"\n },\n \"min\": {\n \"array\": \"Das Feld :attribute muss mindestens :arg0 Elemente enthalten.\",\n \"numeric\": \"Das Feld :attribute muss mindestens :arg0 sein.\",\n \"string\": \"Das Feld :attribute muss mindestens :arg0 Zeichen lang sein.\"\n },\n \"mimes\": \"Das Feld :attribute muss eine Datei vom Typ :arg0: sein.\",\n \"not_equals\": \"Das Feld :attribute darf nicht gleich :arg0 sein.\",\n \"not_in\": \"Das ausgewählte Feld :attribute darf nicht in :arg0: enthalten sein.\",\n \"not_regex\": \"Das Format von :attribute ist ungültig.\",\n \"number\": \"Das Feld :attribute muss eine Zahl sein.\",\n \"phone_no\": \"Das Feld :attribute muss eine gültige Telefonnummer sein.\",\n \"range\": \"Das Feld :attribute muss zwischen :arg0 und :arg1 liegen.\",\n \"between\": \"Das :attribute muss zwischen :arg0 und :arg1 liegen, beide ausgeschlossen.\",\n \"regex\": \"Das Format von :attribute ist ungültig.\",\n \"required\": \"Das Feld :attribute ist erforderlich.\",\n \"required_if\": \"Das Feld :attribute ist erforderlich, wenn :arg0 gleich :arg1 ist.\",\n \"required_unless\": \"Das Feld :attribute ist erforderlich, es sei denn, :arg0 ist in :arg1: enthalten.\",\n \"required_with\": \"Das Feld :attribute ist erforderlich, wenn eines der Felder :arg0: vorhanden ist.\",\n \"required_with_all\": \"Das Feld :attribute ist erforderlich, wenn :arg0: vorhanden sind.\",\n \"required_without\": \"Das Feld :attribute ist erforderlich, wenn :arg0: nicht vorhanden ist.\",\n \"required_without_all\": \"Das Feld :attribute ist erforderlich, wenn keines der Felder :arg0: vorhanden ist.\",\n \"same\": \"Die Felder :attribute und :arg0 müssen übereinstimmen.\",\n \"size\": \"Das Feld :attribute darf höchstens :arg0 KB groß sein.\",\n \"starts_with\": \"Das Feld :attribute muss mit einem der folgenden Werte beginnen: :arg0\",\n \"string\": \"Das Feld :attribute muss eine Zeichenfolge sein.\",\n \"strength\": \"Das Feld :attribute ist nicht sicher genug.\",\n \"under\": \"Das Feld :attribute muss unter :arg0 liegen.\",\n \"url\": \"Das Format von :attribute ist ungültig.\",\n \"uuid\": \"Das Feld :attribute muss eine gültige UUID sein.\",\n \"unique\": \"Das Feld :attribute wird bereits verwendet.\",\n \"video\": \"Das Feld :attribute muss ein gültiges Video sein.\"\n}\n","export default {\n \"above\": \"El campo :attribute debe estar por encima de :arg0.\",\n \"accepted\": \"El campo :attribute debe ser aceptado.\",\n \"after\": \"El campo :attribute debe ser una fecha posterior a :arg0.\",\n \"alpha\": \"El campo :attribute solo puede contener letras.\",\n \"alpha_dash\": \"El campo :attribute solo puede contener letras, números, guiones y guiones bajos.\",\n \"alpha_numeric\": \"El campo :attribute solo puede contener letras y números.\",\n \"array\": \"El campo :attribute debe ser un arreglo.\",\n \"before\": \"El campo :attribute debe ser una fecha anterior a :arg0.\",\n \"boolean\": \"El campo :attribute debe ser verdadero o falso.\",\n \"confirmed\": \"La confirmación de :attribute no coincide.\",\n \"credit_card\": \"El campo :attribute debe ser un número de tarjeta de crédito válido.\",\n \"cvv\": \"El campo :attribute debe ser un número CVV válido.\",\n \"date\": \"El campo :attribute no es una fecha válida.\",\n \"date_format\": \"El campo :attribute no coincide con el formato :arg0.\",\n \"debit_card\": \"El campo :attribute debe ser un número de tarjeta de débito válido.\",\n \"different\": \"Los campos :attribute y :arg0 deben ser diferentes.\",\n \"dimension\": \"El campo :attribute tiene dimensiones de imagen no válidas.\",\n \"email\": \"El campo :attribute debe ser una dirección de correo electrónico válida.\",\n \"ends_with\": \"El campo :attribute debe terminar con uno de los siguientes valores :arg0:\",\n \"equals\": \"El campo :attribute debe ser igual a :arg0\",\n \"exists\": \"El :attribute seleccionado no es válido.\",\n \"image\": \"El campo :attribute debe ser una imagen válida.\",\n \"in\": \"El :attribute seleccionado debe estar entre :arg0:.\",\n \"includes\": \"El campo :attribute debe contener :arg0:.\",\n \"integer\": \"El campo :attribute debe ser un número entero.\",\n \"ip\": \"El campo :attribute debe ser una dirección IP válida.\",\n \"ipv4\": \"El campo :attribute debe ser una dirección IPv4 válida.\",\n \"ipv6\": \"El campo :attribute debe ser una dirección IPv6 válida.\",\n \"json\": \"El campo :attribute debe ser una cadena JSON válida.\",\n \"max\": {\n \"array\": \"El campo :attribute no debe tener más de :arg0 elementos.\",\n \"numeric\": \"El campo :attribute no debe ser mayor que :arg0.\",\n \"string\": \"El campo :attribute no debe tener más de :arg0 caracteres.\"\n },\n \"min\": {\n \"array\": \"El campo :attribute debe tener al menos :arg0 elementos.\",\n \"numeric\": \"El campo :attribute debe ser al menos :arg0.\",\n \"string\": \"El campo :attribute debe tener al menos :arg0 caracteres.\"\n },\n \"mimes\": \"El campo :attribute debe ser un archivo de tipo :arg0:.\",\n \"not_equals\": \"El campo :attribute no debe ser igual a :arg0\",\n \"not_in\": \"El :attribute seleccionado no debe estar entre :arg0:.\",\n \"not_regex\": \"El formato de :attribute no es válido.\",\n \"number\": \"El campo :attribute debe ser un número.\",\n \"phone_no\": \"El campo :attribute debe ser un número de teléfono válido.\",\n \"range\": \"El campo :attribute debe estar entre :arg0 y :arg1.\",\n \"between\": \"El :attribute debe estar entre :arg0 y :arg1, ambos exclusivos.\",\n \"regex\": \"El formato de :attribute no es válido.\",\n \"required\": \"El campo :attribute es obligatorio.\",\n \"required_if\": \"El campo :attribute es obligatorio cuando :arg0 es :arg1.\",\n \"required_unless\": \"El campo :attribute es obligatorio a menos que :arg0 esté en :arg1:.\",\n \"required_with\": \"El campo :attribute es obligatorio cuando alguno de :arg0: está presente.\",\n \"required_with_all\": \"El campo :attribute es obligatorio cuando :arg0: están presentes.\",\n \"required_without\": \"El campo :attribute es obligatorio cuando :arg0: no está presente.\",\n \"required_without_all\": \"El campo :attribute es obligatorio cuando ninguno de :arg0: está presente.\",\n \"same\": \"Los campos :attribute y :arg0 deben coincidir.\",\n \"size\": \"El campo :attribute debe ser :arg0 KB o menos.\",\n \"starts_with\": \"El campo :attribute debe comenzar con uno de los siguientes valores :arg0\",\n \"string\": \"El campo :attribute debe ser una cadena de texto.\",\n \"strength\": \"El campo :attribute no es lo suficientemente seguro.\",\n \"under\": \"El campo :attribute debe ser menor que :arg0.\",\n \"url\": \"El formato de :attribute no es válido.\",\n \"uuid\": \"El campo :attribute debe ser un UUID válido.\",\n \"unique\": \"El campo :attribute ya ha sido registrado.\",\n \"video\": \"El campo :attribute debe ser un video válido.\"\n}\n","export default{\n \"above\": \"Le champ :attribute doit être supérieur à :arg0.\",\n \"accepted\": \"Le champ :attribute doit être accepté.\",\n \"after\": \"Le champ :attribute doit être une date postérieure à :arg0.\",\n \"alpha\": \"Le champ :attribute ne peut contenir que des lettres.\",\n \"alpha_dash\": \"Le champ :attribute ne peut contenir que des lettres, des chiffres, des tirets et des underscores.\",\n \"alpha_numeric\": \"Le champ :attribute ne peut contenir que des lettres et des chiffres.\",\n \"array\": \"Le champ :attribute doit être un tableau.\",\n \"before\": \"Le champ :attribute doit être une date antérieure à :arg0.\",\n \"boolean\": \"Le champ :attribute doit être vrai ou faux.\",\n \"confirmed\": \"La confirmation de :attribute ne correspond pas.\",\n \"credit_card\": \"Le champ :attribute doit être un numéro de carte de crédit valide.\",\n \"cvv\": \"Le champ :attribute doit être un numéro CVV valide.\",\n \"date\": \"Le champ :attribute n'est pas une date valide.\",\n \"date_format\": \"Le champ :attribute ne correspond pas au format :arg0.\",\n \"debit_card\": \"Le champ :attribute doit être un numéro de carte de débit valide.\",\n \"different\": \"Les champs :attribute et :arg0 doivent être différents.\",\n \"dimension\": \"Le champ :attribute a des dimensions d'image non valides.\",\n \"email\": \"Le champ :attribute doit être une adresse e-mail valide.\",\n \"ends_with\": \"Le champ :attribute doit se terminer par l'une des valeurs suivantes :arg0:\",\n \"equals\": \"Le champ :attribute doit être égal à :arg0\",\n \"exists\": \"Le champ :attribute sélectionné n'est pas valide.\",\n \"image\": \"Le champ :attribute doit être une image valide.\",\n \"in\": \"Le champ :attribute sélectionné doit figurer parmi :arg0:.\",\n \"includes\": \"Le champ :attribute doit contenir :arg0:.\",\n \"integer\": \"Le champ :attribute doit être un entier.\",\n \"ip\": \"Le champ :attribute doit être une adresse IP valide.\",\n \"ipv4\": \"Le champ :attribute doit être une adresse IPv4 valide.\",\n \"ipv6\": \"Le champ :attribute doit être une adresse IPv6 valide.\",\n \"json\": \"Le champ :attribute doit être une chaîne JSON valide.\",\n \"max\": {\n \"array\": \"Le champ :attribute ne peut pas avoir plus de :arg0 éléments.\",\n \"numeric\": \"Le champ :attribute ne peut pas être supérieur à :arg0.\",\n \"string\": \"Le champ :attribute ne peut pas dépasser :arg0 caractères.\"\n },\n \"min\": {\n \"array\": \"Le champ :attribute doit contenir au moins :arg0 éléments.\",\n \"numeric\": \"Le champ :attribute doit être d'au moins :arg0.\",\n \"string\": \"Le champ :attribute doit contenir au moins :arg0 caractères.\"\n },\n \"mimes\": \"Le champ :attribute doit être un fichier de type :arg0:.\",\n \"not_equals\": \"Le champ :attribute ne doit pas être égal à :arg0\",\n \"not_in\": \"Le champ :attribute sélectionné ne doit pas figurer parmi :arg0:.\",\n \"not_regex\": \"Le format de :attribute n'est pas valide.\",\n \"number\": \"Le champ :attribute doit être un nombre.\",\n \"phone_no\": \"Le champ :attribute doit être un numéro de téléphone valide.\",\n \"range\": \"Le champ :attribute doit être compris entre :arg0 et :arg1.\",\n \"between\": \"Le :attribute doit être compris entre :arg0 et :arg1, exclusivement.\",\n \"regex\": \"Le format de :attribute n'est pas valide.\",\n \"required\": \"Le champ :attribute est obligatoire.\",\n \"required_if\": \"Le champ :attribute est obligatoire lorsque :arg0 est :arg1.\",\n \"required_unless\": \"Le champ :attribute est obligatoire à moins que :arg0 ne soit dans :arg1:.\",\n \"required_with\": \"Le champ :attribute est obligatoire lorsque l'un des champs :arg0: est présent.\",\n \"required_with_all\": \"Le champ :attribute est obligatoire lorsque :arg0: sont présents.\",\n \"required_without\": \"Le champ :attribute est obligatoire lorsque :arg0: n'est pas présent.\",\n \"required_without_all\": \"Le champ :attribute est obligatoire lorsque aucun des champs :arg0: n'est présent.\",\n \"same\": \"Les champs :attribute et :arg0 doivent correspondre.\",\n \"size\": \"Le champ :attribute doit faire :arg0 Ko ou moins.\",\n \"starts_with\": \"Le champ :attribute doit commencer par l'une des valeurs suivantes :arg0\",\n \"string\": \"Le champ :attribute doit être une chaîne de caractères.\",\n \"strength\": \"Le champ :attribute n'est pas assez sécurisé.\",\n \"under\": \"Le champ :attribute doit être inférieur à :arg0.\",\n \"url\": \"Le format de :attribute n'est pas valide.\",\n \"uuid\": \"Le champ :attribute doit être un UUID valide.\",\n \"unique\": \"Le champ :attribute est déjà utilisé.\",\n \"video\": \"Le champ :attribute doit être une vidéo valide.\"\n}\n","export default {\n \"above\": \":attribute, :arg0 से अधिक होना चाहिए।\",\n \"accepted\": \":attribute को स्वीकार करना आवश्यक है।\",\n \"after\": \":attribute की तारीख :arg0 के बाद की होनी चाहिए।\",\n \"alpha\": \":attribute में केवल अक्षर होने चाहिए।\",\n \"alpha_dash\": \":attribute में केवल अक्षर, अंक, डैश (-) और अंडरस्कोर (_) होने चाहिए।\",\n \"alpha_numeric\": \":attribute में केवल अक्षर और अंक होने चाहिए।\",\n \"array\": \":attribute एक ऐरे (array) होना चाहिए।\",\n \"before\": \":attribute की तारीख :arg0 से पहले की होनी चाहिए।\",\n \"boolean\": \":attribute का मान true या false होना चाहिए।\",\n \"confirmed\": \":attribute की पुष्टि मेल नहीं खाती।\",\n \"credit_card\": \":attribute एक मान्य क्रेडिट कार्ड नंबर होना चाहिए।\",\n \"cvv\": \":attribute एक मान्य CVV नंबर होना चाहिए।\",\n \"date\": \":attribute एक मान्य तारीख नहीं है।\",\n \"date_format\": \":attribute प्रारूप :arg0 से मेल नहीं खाता।\",\n \"debit_card\": \":attribute एक मान्य डेबिट कार्ड नंबर होना चाहिए।\",\n \"different\": \":attribute और :arg0 अलग-अलग होने चाहिए।\",\n \"dimension\": \":attribute की इमेज डाइमेंशन मान्य नहीं है।\",\n \"email\": \":attribute एक मान्य ईमेल पता होना चाहिए।\",\n \"ends_with\": \":attribute निम्न में से किसी एक के साथ समाप्त होना चाहिए: :arg0:\",\n \"equals\": \":attribute का मान :arg0 के बराबर होना चाहिए।\",\n \"exists\": \"चयनित :attribute मान्य नहीं है।\",\n \"image\": \":attribute एक मान्य इमेज होनी चाहिए।\",\n \"in\": \"चयनित :attribute, :arg0: में से एक होना चाहिए।\",\n \"includes\": \":attribute में :arg0: शामिल होना चाहिए।\",\n \"integer\": \":attribute एक पूर्णांक (integer) होना चाहिए।\",\n \"ip\": \":attribute एक मान्य IP पता होना चाहिए।\",\n \"ipv4\": \":attribute एक मान्य IPv4 पता होना चाहिए।\",\n \"ipv6\": \":attribute एक मान्य IPv6 पता होना चाहिए।\",\n \"json\": \":attribute एक मान्य JSON स्ट्रिंग होनी चाहिए।\",\n \"max\": {\n \"array\": \":attribute में :arg0 से अधिक आइटम नहीं होने चाहिए।\",\n \"numeric\": \":attribute, :arg0 से अधिक नहीं होना चाहिए।\",\n \"string\": \":attribute, :arg0 वर्णों से अधिक नहीं होना चाहिए।\"\n },\n \"min\": {\n \"array\": \":attribute में कम से कम :arg0 आइटम होने चाहिए।\",\n \"numeric\": \":attribute कम से कम :arg0 होना चाहिए।\",\n \"string\": \":attribute में कम से कम :arg0 वर्ण होने चाहिए।\"\n },\n \"mimes\": \":attribute, :arg0: प्रकार की फ़ाइल होनी चाहिए।\",\n \"not_equals\": \":attribute का मान :arg0 के बराबर नहीं होना चाहिए।\",\n \"not_in\": \"चयनित :attribute, :arg0: में से नहीं होना चाहिए।\",\n \"not_regex\": \":attribute का प्रारूप अमान्य है।\",\n \"number\": \":attribute एक संख्या होनी चाहिए।\",\n \"phone_no\": \":attribute एक मान्य फ़ोन नंबर होना चाहिए।\",\n \"range\": \":attribute, :arg0 और :arg1 के बीच होना चाहिए।\",\n \"between\": \":attribute अवश्य :arg0 और :arg1 के बीच होना चाहिए, दोनों को छोड़कर।\",\n \"regex\": \":attribute का प्रारूप अमान्य है।\",\n \"required\": \":attribute फ़ील्ड आवश्यक है।\",\n \"required_if\": \"जब :arg0, :arg1 हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_unless\": \":attribute फ़ील्ड आवश्यक है, जब तक :arg0, :arg1: में न हो।\",\n \"required_with\": \"जब :arg0: में से कोई मौजूद हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_with_all\": \"जब :arg0: मौजूद हों, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_without\": \"जब :arg0: मौजूद न हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"required_without_all\": \"जब :arg0: में से कोई भी मौजूद न हो, तब :attribute फ़ील्ड आवश्यक है।\",\n \"same\": \":attribute और :arg0 एक समान होने चाहिए।\",\n \"size\": \":attribute अधिकतम :arg0 KB का होना चाहिए।\",\n \"starts_with\": \":attribute निम्न में से किसी एक से शुरू होना चाहिए: :arg0\",\n \"string\": \":attribute एक स्ट्रिंग (string) होनी चाहिए।\",\n \"strength\": \":attribute पर्याप्त मज़बूत नहीं है।\",\n \"under\": \":attribute, :arg0 से कम होना चाहिए।\",\n \"url\": \":attribute का प्रारूप अमान्य है।\",\n \"uuid\": \":attribute एक मान्य UUID होना चाहिए।\",\n \"unique\": \":attribute पहले से ही उपयोग में है।\",\n \"video\": \":attribute एक मान्य वीडियो होनी चाहिए।\"\n}\n","export default {\r\n \"above\": \":attribute অবশ্যই :arg0-এর বেশি হতে হবে।\",\r\n \"accepted\": \":attribute অবশ্যই গ্রহণ করতে হবে।\",\r\n \"after\": \":attribute অবশ্যই :arg0-এর পরের একটি তারিখ হতে হবে।\",\r\n \"alpha\": \":attribute-এ শুধুমাত্র অক্ষর থাকতে পারে।\",\r\n \"alpha_dash\": \":attribute-এ শুধুমাত্র অক্ষর, সংখ্যা, ড্যাশ (-) এবং আন্ডারস্কোর (_) থাকতে পারে।\",\r\n \"alpha_numeric\": \":attribute-এ শুধুমাত্র অক্ষর এবং সংখ্যা থাকতে পারে।\",\r\n \"array\": \":attribute অবশ্যই একটি অ্যারে (array) হতে হবে।\",\r\n \"before\": \":attribute অবশ্যই :arg0-এর আগের একটি তারিখ হতে হবে।\",\r\n \"boolean\": \":attribute ফিল্ডটি অবশ্যই true অথবা false হতে হবে।\",\r\n \"confirmed\": \":attribute কনফার্মেশন মিলছে না।\",\r\n \"credit_card\": \":attribute অবশ্যই একটি বৈধ ক্রেডিট কার্ড নম্বর হতে হবে।\",\r\n \"cvv\": \":attribute অবশ্যই একটি বৈধ CVV নম্বর হতে হবে।\",\r\n \"date\": \":attribute একটি বৈধ তারিখ নয়।\",\r\n \"date_format\": \":attribute ফরম্যাট :arg0-এর সাথে মিলছে না।\",\r\n \"debit_card\": \":attribute অবশ্যই একটি বৈধ ডেবিট কার্ড নম্বর হতে হবে।\",\r\n \"different\": \":attribute এবং :arg0 অবশ্যই আলাদা হতে হবে।\",\r\n \"dimension\": \":attribute-এর ইমেজ ডাইমেনশন সঠিক নয়।\",\r\n \"email\": \":attribute অবশ্যই একটি বৈধ ইমেইল ঠিকানা হতে হবে।\",\r\n \"ends_with\": \":attribute অবশ্যই নিম্নলিখিত :arg0: এর মধ্যে যেকোনো একটি দিয়ে শেষ হতে হবে\",\r\n \"equals\": \":attribute অবশ্যই :arg0-এর সমান হতে হবে\",\r\n \"exists\": \"নির্বাচিত :attribute অবৈধ।\",\r\n \"image\": \":attribute অবশ্যই একটি বৈধ ইমেজ হতে হবে।\",\r\n \"in\": \"নির্বাচিত :attribute অবশ্যই :arg0:-এর মধ্যে থাকতে হবে।\",\r\n \"includes\": \":attribute-তে অবশ্যই :arg0: থাকতে হবে।\",\r\n \"integer\": \":attribute অবশ্যই একটি পূর্ণসংখ্যা (integer) হতে হবে।\",\r\n \"ip\": \":attribute অবশ্যই একটি বৈধ IP ঠিকানা হতে হবে।\",\r\n \"ipv4\": \":attribute অবশ্যই একটি বৈধ IPv4 ঠিকানা হতে হবে।\",\r\n \"ipv6\": \":attribute অবশ্যই একটি বৈধ IPv6 ঠিকানা হতে হবে।\",\r\n \"json\": \":attribute অবশ্যই একটি বৈধ JSON স্ট্রিং হতে হবে।\",\r\n \"max\": {\r\n \"array\": \":attribute-এ :arg0-এর বেশি আইটেম থাকতে পারবে না।\",\r\n \"numeric\": \":attribute অবশ্যই :arg0-এর বেশি হতে পারবে না।\",\r\n \"string\": \":attribute অবশ্যই :arg0 অক্ষরের বেশি হতে পারবে না।\"\r\n },\r\n \"min\": {\r\n \"array\": \":attribute-এ অবশ্যই কমপক্ষে :arg0টি আইটেম থাকতে হবে।\",\r\n \"numeric\": \":attribute অবশ্যই কমপক্ষে :arg0 হতে হবে।\",\r\n \"string\": \":attribute অবশ্যই কমপক্ষে :arg0 অক্ষরের হতে হবে।\"\r\n },\r\n \"mimes\": \":attribute অবশ্যই :arg0: টাইপের একটি ফাইল হতে হবে।\",\r\n \"not_equals\": \":attribute অবশ্যই :arg0-এর সমান হতে পারবে না\",\r\n \"not_in\": \"নির্বাচিত :attribute অবশ্যই :arg0:-এর মধ্যে থাকতে পারবে না।\",\r\n \"not_regex\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"number\": \":attribute অবশ্যই একটি সংখ্যা হতে হবে।\",\r\n \"phone_no\": \":attribute অবশ্যই একটি বৈধ ফোন নম্বর হতে হবে।\",\r\n \"range\": \":attribute অবশ্যই :arg0 এবং :arg1-এর মধ্যে হতে হবে।\",\r\n \"between\": \":attribute অবশ্যই :arg0 এবং :arg1-এর মধ্যে হতে হবে, উভয়ই বাদ দিয়ে।\",\r\n \"regex\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"required\": \":attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_if\": \"যখন :arg0 হলো :arg1, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_unless\": \":attribute ফিল্ডটি আবশ্যক, যদি না :arg0, :arg1:-এর মধ্যে থাকে।\",\r\n \"required_with\": \"যখন :arg0: এর মধ্যে যেকোনো একটি উপস্থিত থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_with_all\": \"যখন :arg0: উপস্থিত থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_without\": \"যখন :arg0: উপস্থিত না থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"required_without_all\": \"যখন :arg0: এর কোনোটিই উপস্থিত না থাকে, তখন :attribute ফিল্ডটি আবশ্যক।\",\r\n \"same\": \":attribute এবং :arg0 অবশ্যই মিলতে হবে।\",\r\n \"size\": \":attribute অবশ্যই :arg0 KB অথবা তার কম হতে হবে।\",\r\n \"starts_with\": \":attribute অবশ্যই নিম্নলিখিত :arg0 এর মধ্যে যেকোনো একটি দিয়ে শুরু হতে হবে\",\r\n \"string\": \":attribute অবশ্যই একটি স্ট্রিং (string) হতে হবে।\",\r\n \"strength\": \":attribute যথেষ্ট শক্তিশালী নয়।\",\r\n \"under\": \":attribute অবশ্যই :arg0-এর কম হতে হবে।\",\r\n \"url\": \":attribute ফরম্যাট অবৈধ।\",\r\n \"uuid\": \":attribute অবশ্যই একটি বৈধ UUID হতে হবে।\",\r\n \"unique\": \":attribute ইতিমধ্যে ব্যবহৃত হয়েছে।\",\r\n \"video\": \":attribute অবশ্যই একটি বৈধ ভিডিও হতে হবে।\"\r\n}\r\n","export default {\r\n \"above\": \"O campo :attribute deve estar acima de :arg0.\",\r\n \"accepted\": \"O campo :attribute deve ser aceito.\",\r\n \"after\": \"O campo :attribute deve ser uma data posterior a :arg0.\",\r\n \"alpha\": \"O campo :attribute pode conter apenas letras.\",\r\n \"alpha_dash\": \"O campo :attribute pode conter apenas letras, números, hífens e sublinhados.\",\r\n \"alpha_numeric\": \"O campo :attribute pode conter apenas letras e números.\",\r\n \"array\": \"O campo :attribute deve ser uma matriz (array).\",\r\n \"before\": \"O campo :attribute deve ser uma data anterior a :arg0.\",\r\n \"boolean\": \"O campo :attribute deve ser verdadeiro ou falso.\",\r\n \"confirmed\": \"A confirmação de :attribute não coincide.\",\r\n \"credit_card\": \"O campo :attribute deve ser um número de cartão de crédito válido.\",\r\n \"cvv\": \"O campo :attribute deve ser um número de CVV válido.\",\r\n \"date\": \"O campo :attribute não é uma data válida.\",\r\n \"date_format\": \"O campo :attribute não corresponde ao formato :arg0.\",\r\n \"debit_card\": \"O campo :attribute deve ser um número de cartão de débito válido.\",\r\n \"different\": \"Os campos :attribute e :arg0 devem ser diferentes.\",\r\n \"dimension\": \"O campo :attribute tem dimensões de imagem inválidas.\",\r\n \"email\": \"O campo :attribute deve ser um endereço de e-mail válido.\",\r\n \"ends_with\": \"O campo :attribute deve terminar com um dos seguintes valores :arg0:\",\r\n \"equals\": \"O campo :attribute deve ser igual a :arg0\",\r\n \"exists\": \"O :attribute selecionado é inválido.\",\r\n \"image\": \"O campo :attribute deve ser uma imagem válida.\",\r\n \"in\": \"O :attribute selecionado deve estar entre :arg0:.\",\r\n \"includes\": \"O campo :attribute deve conter :arg0:.\",\r\n \"integer\": \"O campo :attribute deve ser um número inteiro.\",\r\n \"ip\": \"O campo :attribute deve ser um endereço IP válido.\",\r\n \"ipv4\": \"O campo :attribute deve ser um endereço IPv4 válido.\",\r\n \"ipv6\": \"O campo :attribute deve ser um endereço IPv6 válido.\",\r\n \"json\": \"O campo :attribute deve ser uma string JSON válida.\",\r\n \"max\": {\r\n \"array\": \"O campo :attribute não pode ter mais de :arg0 itens.\",\r\n \"numeric\": \"O campo :attribute não pode ser maior que :arg0.\",\r\n \"string\": \"O campo :attribute não pode ter mais de :arg0 caracteres.\"\r\n },\r\n \"min\": {\r\n \"array\": \"O campo :attribute deve ter pelo menos :arg0 itens.\",\r\n \"numeric\": \"O campo :attribute deve ser pelo menos :arg0.\",\r\n \"string\": \"O campo :attribute deve ter pelo menos :arg0 caracteres.\"\r\n },\r\n \"mimes\": \"O campo :attribute deve ser um arquivo do tipo :arg0:.\",\r\n \"not_equals\": \"O campo :attribute não deve ser igual a :arg0\",\r\n \"not_in\": \"O :attribute selecionado não deve estar entre :arg0:.\",\r\n \"not_regex\": \"O formato de :attribute é inválido.\",\r\n \"number\": \"O campo :attribute deve ser um número.\",\r\n \"phone_no\": \"O campo :attribute deve ser um número de telefone válido.\",\r\n \"range\": \"O campo :attribute deve estar entre :arg0 e :arg1.\",\r\n \"between\": \"O campo :attribute deve estar entre :arg0 e :arg1, exclusive.\",\r\n \"regex\": \"O formato de :attribute é inválido.\",\r\n \"required\": \"O campo :attribute é obrigatório.\",\r\n \"required_if\": \"O campo :attribute é obrigatório quando :arg0 é :arg1.\",\r\n \"required_unless\": \"O campo :attribute é obrigatório, a menos que :arg0 esteja em :arg1:.\",\r\n \"required_with\": \"O campo :attribute é obrigatório quando algum de :arg0: está presente.\",\r\n \"required_with_all\": \"O campo :attribute é obrigatório quando :arg0: estão presentes.\",\r\n \"required_without\": \"O campo :attribute é obrigatório quando :arg0: não está presente.\",\r\n \"required_without_all\": \"O campo :attribute é obrigatório quando nenhum de :arg0: está presente.\",\r\n \"same\": \"Os campos :attribute e :arg0 devem coincidir.\",\r\n \"size\": \"O campo :attribute deve ter :arg0 KB ou menos.\",\r\n \"starts_with\": \"O campo :attribute deve começar com um dos seguintes valores :arg0\",\r\n \"string\": \"O campo :attribute deve ser uma string.\",\r\n \"strength\": \"O campo :attribute não é forte o suficiente.\",\r\n \"under\": \"O campo :attribute deve ser menor que :arg0.\",\r\n \"url\": \"O formato de :attribute é inválido.\",\r\n \"uuid\": \"O campo :attribute deve ser um UUID válido.\",\r\n \"unique\": \"O campo :attribute já foi registrado.\",\r\n \"video\": \"O campo :attribute deve ser um vídeo válido.\"\r\n}\r\n","export default {\r\n above: ':attributeは:arg0より大きい必要があります。',\r\n accepted: ':attributeを承認する必要があります。',\r\n after: ':attributeは:arg0より後の日付である必要があります。',\r\n alpha: ':attributeには英字のみ使用できます。',\r\n alpha_dash: ':attributeには英字、数字、ハイフン、アンダースコアのみ使用できます。',\r\n alpha_numeric: ':attributeには英字と数字のみ使用できます。',\r\n array: ':attributeは配列である必要があります。',\r\n before: ':attributeは:arg0より前の日付である必要があります。',\r\n boolean: ':attributeフィールドはtrueまたはfalseである必要があります。',\r\n confirmed: ':attributeの確認が一致しません。',\r\n credit_card: ':attributeは有効なクレジットカード番号である必要があります。',\r\n cvv: ':attributeは有効なCVV番号である必要があります。',\r\n date: ':attributeは有効な日付ではありません。',\r\n date_format: ':attributeはフォーマット:arg0と一致しません。',\r\n debit_card: ':attributeは有効なデビットカード番号である必要があります。',\r\n different: ':attributeと:arg0は異なる必要があります。',\r\n dimension: ':attributeの画像サイズが無効です。',\r\n email: ':attributeは有効なメールアドレスである必要があります。',\r\n ends_with: ':attributeは次のいずれかで終わる必要があります: :arg0',\r\n equals: ':attributeは:arg0と等しい必要があります',\r\n exists: '選択された:attributeは無効です。',\r\n image: ':attributeは有効な画像である必要があります。',\r\n in: '選択された:attributeは:arg0のいずれかである必要があります。',\r\n includes: ':attributeには:arg0を含める必要があります。',\r\n integer: ':attributeは整数である必要があります。',\r\n ip: ':attributeは有効なIPアドレスである必要があります。',\r\n ipv4: ':attributeは有効なIPv4アドレスである必要があります。',\r\n ipv6: ':attributeは有効なIPv6アドレスである必要があります。',\r\n json: ':attributeは有効なJSON文字列である必要があります。',\r\n max: {\r\n array: ':attributeは:arg0個を超える項目を含めることはできません。',\r\n numeric: ':attributeは:arg0より大きくすることはできません。',\r\n string: ':attributeは:arg0文字を超えることはできません。'\r\n },\r\n min: {\r\n array: ':attributeは少なくとも:arg0個の項目を含める必要があります。',\r\n numeric: ':attributeは少なくとも:arg0である必要があります。',\r\n string: ':attributeは少なくとも:arg0文字である必要があります。'\r\n },\r\n mimes: ':attributeは:arg0タイプのファイルである必要があります。',\r\n not_equals: ':attributeは:arg0と等しくない必要があります',\r\n not_in: '選択された:attributeは:arg0に含まれてはいけません。',\r\n not_regex: ':attributeの形式が無効です。',\r\n number: ':attributeは数値である必要があります。',\r\n phone_no: ':attributeは有効な電話番号である必要があります。',\r\n range: ':attributeは:arg0から:arg1の間である必要があります。',\r\n between: ':attributeは:arg0と:arg1の間(両端を含まない)である必要があります。',\r\n regex: ':attributeの形式が無効です。',\r\n required: ':attributeフィールドは必須です。',\r\n required_if: ':arg0が:arg1の場合、:attributeフィールドは必須です。',\r\n required_unless: ':arg0が:arg1に含まれない限り、:attributeフィールドは必須です。',\r\n required_with: ':arg0のいずれかが存在する場合、:attributeフィールドは必須です。',\r\n required_with_all: ':arg0が存在する場合、:attributeフィールドは必須です。',\r\n required_without: ':arg0が存在しない場合、:attributeフィールドは必須です。',\r\n required_without_all: ':arg0のいずれも存在しない場合、:attributeフィールドは必須です。',\r\n same: ':attributeと:arg0は一致する必要があります。',\r\n size: ':attributeは:arg0KB以下である必要があります。',\r\n starts_with: ':attributeは次のいずれかで始まる必要があります: :arg0',\r\n string: ':attributeは文字列である必要があります。',\r\n strength: ':attributeの強度が十分ではありません。',\r\n under: ':attributeは:arg0未満である必要があります。',\r\n url: ':attributeの形式が無効です。',\r\n uuid: ':attributeは有効なUUIDである必要があります。',\r\n unique: ':attributeはすでに使用されています。',\r\n video: ':attributeは有効な動画である必要があります。',\r\n}\r\n","export default {\r\n above: ':attributeは:arg0より大きい必要があります。',\r\n accepted: ':attributeを承認する必要があります。',\r\n after: ':attributeは:arg0より後の日付である必要があります。',\r\n alpha: ':attributeには英字のみ使用できます。',\r\n alpha_dash: ':attributeには英字、数字、ハイフン、アンダースコアのみ使用できます。',\r\n alpha_numeric: ':attributeには英字と数字のみ使用できます。',\r\n array: ':attributeは配列である必要があります。',\r\n before: ':attributeは:arg0より前の日付である必要があります。',\r\n boolean: ':attributeフィールドはtrueまたはfalseである必要があります。',\r\n confirmed: ':attributeの確認が一致しません。',\r\n credit_card: ':attributeは有効なクレジットカード番号である必要があります。',\r\n cvv: ':attributeは有効なCVV番号である必要があります。',\r\n date: ':attributeは有効な日付ではありません。',\r\n date_format: ':attributeはフォーマット:arg0と一致しません。',\r\n debit_card: ':attributeは有効なデビットカード番号である必要があります。',\r\n different: ':attributeと:arg0は異なる必要があります。',\r\n dimension: ':attributeの画像サイズが無効です。',\r\n email: ':attributeは有効なメールアドレスである必要があります。',\r\n ends_with: ':attributeは次のいずれかで終わる必要があります: :arg0',\r\n equals: ':attributeは:arg0と等しい必要があります',\r\n exists: '選択された:attributeは無効です。',\r\n image: ':attributeは有効な画像である必要があります。',\r\n in: '選択された:attributeは:arg0のいずれかである必要があります。',\r\n includes: ':attributeには:arg0を含める必要があります。',\r\n integer: ':attributeは整数である必要があります。',\r\n ip: ':attributeは有効なIPアドレスである必要があります。',\r\n ipv4: ':attributeは有効なIPv4アドレスである必要があります。',\r\n ipv6: ':attributeは有効なIPv6アドレスである必要があります。',\r\n json: ':attributeは有効なJSON文字列である必要があります。',\r\n max: {\r\n array: ':attributeは:arg0個を超える項目を含めることはできません。',\r\n numeric: ':attributeは:arg0より大きくすることはできません。',\r\n string: ':attributeは:arg0文字を超えることはできません。'\r\n },\r\n min: {\r\n array: ':attributeは少なくとも:arg0個の項目を含める必要があります。',\r\n numeric: ':attributeは少なくとも:arg0である必要があります。',\r\n string: ':attributeは少なくとも:arg0文字である必要があります。'\r\n },\r\n mimes: ':attributeは:arg0タイプのファイルである必要があります。',\r\n not_equals: ':attributeは:arg0と等しくない必要があります',\r\n not_in: '選択された:attributeは:arg0に含まれてはいけません。',\r\n not_regex: ':attributeの形式が無効です。',\r\n number: ':attributeは数値である必要があります。',\r\n phone_no: ':attributeは有効な電話番号である必要があります。',\r\n range: ':attributeは:arg0から:arg1の間である必要があります。',\r\n between: ':attributeは:arg0と:arg1の間(両端を含まない)である必要があります。',\r\n regex: ':attributeの形式が無効です。',\r\n required: ':attributeフィールドは必須です。',\r\n required_if: ':arg0が:arg1の場合、:attributeフィールドは必須です。',\r\n required_unless: ':arg0が:arg1に含まれない限り、:attributeフィールドは必須です。',\r\n required_with: ':arg0のいずれかが存在する場合、:attributeフィールドは必須です。',\r\n required_with_all: ':arg0が存在する場合、:attributeフィールドは必須です。',\r\n required_without: ':arg0が存在しない場合、:attributeフィールドは必須です。',\r\n required_without_all: ':arg0のいずれも存在しない場合、:attributeフィールドは必須です。',\r\n same: ':attributeと:arg0は一致する必要があります。',\r\n size: ':attributeは:arg0KB以下である必要があります。',\r\n starts_with: ':attributeは次のいずれかで始まる必要があります: :arg0',\r\n string: ':attributeは文字列である必要があります。',\r\n strength: ':attributeの強度が十分ではありません。',\r\n under: ':attributeは:arg0未満である必要があります。',\r\n url: ':attributeの形式が無効です。',\r\n uuid: ':attributeは有効なUUIDである必要があります。',\r\n unique: ':attributeはすでに使用されています。',\r\n video: ':attributeは有効な動画である必要があります。',\r\n}\r\n","export default {\r\n above: 'Поле :attribute должно быть больше :arg0.',\r\n accepted: 'Поле :attribute должно быть принято.',\r\n after: 'Поле :attribute должно быть датой позже :arg0.',\r\n alpha: 'Поле :attribute может содержать только буквы.',\r\n alpha_dash: 'Поле :attribute может содержать только буквы, цифры, дефисы и подчёркивания.',\r\n alpha_numeric: 'Поле :attribute может содержать только буквы и цифры.',\r\n array: 'Поле :attribute должно быть массивом.',\r\n before: 'Поле :attribute должно быть датой раньше :arg0.',\r\n boolean: 'Поле :attribute должно быть true или false.',\r\n confirmed: 'Подтверждение :attribute не совпадает.',\r\n credit_card: 'Поле :attribute должно быть действительным номером кредитной карты.',\r\n cvv: 'Поле :attribute должно быть действительным номером CVV.',\r\n date: 'Поле :attribute не является допустимой датой.',\r\n date_format: 'Поле :attribute не соответствует формату :arg0.',\r\n debit_card: 'Поле :attribute должно быть действительным номером дебетовой карты.',\r\n different: 'Поля :attribute и :arg0 должны отличаться.',\r\n dimension: 'Поле :attribute имеет недопустимые размеры изображения.',\r\n email: 'Поле :attribute должно быть действительным адресом электронной почты.',\r\n ends_with: 'Поле :attribute должно заканчиваться одним из следующих значений: :arg0',\r\n equals: 'Поле :attribute должно быть равно :arg0',\r\n exists: 'Выбранное значение :attribute недопустимо.',\r\n image: 'Поле :attribute должно быть действительным изображением.',\r\n in: 'Выбранное значение :attribute должно входить в :arg0.',\r\n includes: 'Поле :attribute должно содержать :arg0.',\r\n integer: 'Поле :attribute должно быть целым числом.',\r\n ip: 'Поле :attribute должно быть действительным IP-адресом.',\r\n ipv4: 'Поле :attribute должно быть действительным адресом IPv4.',\r\n ipv6: 'Поле :attribute должно быть действительным адресом IPv6.',\r\n json: 'Поле :attribute должно быть допустимой строкой JSON.',\r\n max: {\r\n array: 'Поле :attribute не должно содержать более :arg0 элементов.',\r\n numeric: 'Поле :attribute не должно быть больше :arg0.',\r\n string: 'Поле :attribute не должно быть длиннее :arg0 символов.'\r\n },\r\n min: {\r\n array: 'Поле :attribute должно содержать не менее :arg0 элементов.',\r\n numeric: 'Поле :attribute должно быть не менее :arg0.',\r\n string: 'Поле :attribute должно содержать не менее :arg0 символов.'\r\n },\r\n mimes: 'Поле :attribute должно быть файлом типа :arg0.',\r\n not_equals: 'Поле :attribute не должно быть равно :arg0',\r\n not_in: 'Выбранное значение :attribute не должно входить в :arg0.',\r\n not_regex: 'Формат поля :attribute недопустим.',\r\n number: 'Поле :attribute должно быть числом.',\r\n phone_no: 'Поле :attribute должно быть действительным номером телефона.',\r\n range: 'Поле :attribute должно быть между :arg0 и :arg1.',\r\n between: 'Поле :attribute должно быть между :arg0 и :arg1, не включая границы.',\r\n regex: 'Формат поля :attribute недопустим.',\r\n required: 'Поле :attribute обязательно для заполнения.',\r\n required_if: 'Поле :attribute обязательно, если :arg0 равно :arg1.',\r\n required_unless: 'Поле :attribute обязательно, если :arg0 не входит в :arg1.',\r\n required_with: 'Поле :attribute обязательно, если присутствует одно из :arg0.',\r\n required_with_all: 'Поле :attribute обязательно, если присутствуют :arg0.',\r\n required_without: 'Поле :attribute обязательно, если :arg0 отсутствует.',\r\n required_without_all: 'Поле :attribute обязательно, если ни одно из :arg0 не присутствует.',\r\n same: 'Поля :attribute и :arg0 должны совпадать.',\r\n size: 'Поле :attribute должно быть :arg0 КБ или меньше.',\r\n starts_with: 'Поле :attribute должно начинаться с одного из следующих значений: :arg0',\r\n string: 'Поле :attribute должно быть строкой.',\r\n strength: 'Поле :attribute недостаточно надёжно.',\r\n under: 'Поле :attribute должно быть меньше :arg0.',\r\n url: 'Формат поля :attribute недопустим.',\r\n uuid: 'Поле :attribute должно быть действительным UUID.',\r\n unique: 'Значение поля :attribute уже занято.',\r\n video: 'Поле :attribute должно быть действительным видео.',\r\n}\r\n","import { TranslateLoader } from \"@ngx-translate/core\";\r\nimport { Observable, of } from \"rxjs\";\r\n\r\nimport en from '../i18n/en';\r\nimport de from '../i18n/de';\r\nimport es from '../i18n/es';\r\nimport fr from '../i18n/fr';\r\nimport hi from '../i18n/hi';\r\nimport bn from '../i18n/bn';\r\nimport pt from '../i18n/pt';\r\nimport ja from '../i18n/ja';\r\nimport zh from '../i18n/zh';\r\nimport ru from '../i18n/ru';\r\n\r\nconst BUILT_IN_TRANSLATIONS: Record<string, any> = { en, de, es, fr, hi, bn, pt, ja, zh, ru }\r\n\r\nexport class InlineTranslateLoader implements TranslateLoader {\r\n\r\n private translations : Record<string, any> = {};\r\n\r\n constructor(\r\n private mergeTranslations: Record<string, any> = {},\r\n private replaceTranslations: Record<string, any> = {}\r\n ) { this.init() }\r\n\r\n\r\n init() {\r\n this.translations = { ...BUILT_IN_TRANSLATIONS };\r\n\r\n // Full replace happens first — wipes out all existing keys for that lang\r\n for (const lang of Object.keys(this.replaceTranslations)) {\r\n this.translations[lang] = { ...this.replaceTranslations[lang] };\r\n }\r\n\r\n // Merge happens second — adds new languages, or patches individual keys\r\n for (const lang of Object.keys(this.mergeTranslations)) {\r\n this.translations[lang] = {\r\n ...(this.translations[lang] || {}),\r\n ...this.mergeTranslations[lang]\r\n };\r\n }\r\n }\r\n\r\n getTranslation(lang: string): Observable<any> {\r\n return of(this.translations[lang] ?? this.translations['en']);\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders, APP_INITIALIZER } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RuleModule } from './rule/rule.module';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ErrorTriggerOn } from './directive/error-trigger/error-trigger-on.directive';\r\nimport { NgAbsoluteValidatorComponent } from './ng-absolute-validator.component';\r\nimport { NgAbsoluteValidatorService } from './ng-absolute-validator.service';\r\nimport { ConfigInterface, LIB_CONFIG } from './config-interface';\r\nimport { ReactiveValidator } from './services/reactive.validate';\r\nimport { HttpRequestService } from './services/http.request.service';\r\nimport { NativeElementDirective } from './directive/native-element/native-element.directive';\r\nimport { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport { DEFAULT_LOCALE_LANG, SUPPORTED_LOCALE_LANGS } from './constant';\r\nimport { InlineTranslateLoader } from './transator.loader';\r\nimport { firstValueFrom } from 'rxjs';\r\n\r\n\r\nexport function TranslateLoaderFactory(config: ConfigInterface) {\r\n return new InlineTranslateLoader(config?.translations, config?.replaceTranslations);\r\n}\r\n\r\nexport function appInitializerFactory(translate: TranslateService, config: ConfigInterface): () => Promise<any> {\r\n return () => {\r\n const builtIn = SUPPORTED_LOCALE_LANGS\r\n const supported = config?.supportedLanguages?.length ? config.supportedLanguages : builtIn;\r\n const browserLang = translate.getBrowserLang();\r\n const langToUse = browserLang && supported.includes(browserLang)\r\n ? browserLang\r\n : (config?.defaultLanguage || DEFAULT_LOCALE_LANG);\r\n\r\n return firstValueFrom(translate.use(langToUse));\r\n };\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n NgAbsoluteValidatorComponent,\r\n NativeElementDirective,\r\n ErrorTriggerOn\r\n ],\r\n imports: [\r\n CommonModule,\r\n RuleModule,\r\n HttpClientModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: TranslateLoaderFactory,\r\n deps: [LIB_CONFIG]\r\n },\r\n defaultLanguage: DEFAULT_LOCALE_LANG\r\n })\r\n ],\r\n providers: [\r\n NgAbsoluteValidatorService,\r\n ReactiveValidator,\r\n HttpRequestService,\r\n {\r\n provide: LIB_CONFIG,\r\n useValue: {}\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: appInitializerFactory,\r\n deps: [TranslateService, LIB_CONFIG],\r\n multi: true\r\n }\r\n ],\r\n exports: [\r\n RuleModule,\r\n NgAbsoluteValidatorComponent,\r\n ErrorTriggerOn,\r\n TranslateModule\r\n ]\r\n})\r\n\r\nexport class NgAbsoluteValidatorModule {\r\n static forRoot(config: ConfigInterface = {}): ModuleWithProviders<NgAbsoluteValidatorModule> {\r\n return {\r\n ngModule: NgAbsoluteValidatorModule,\r\n providers: [\r\n { provide: LIB_CONFIG, useValue: config },\r\n NgAbsoluteValidatorService,\r\n ReactiveValidator\r\n ]\r\n };\r\n }\r\n}\r\n\r\n","import { AbstractControl, FormGroupDirective, NgForm } from \"@angular/forms\";\r\nimport { SUPPORTED_LOCALE_LANGS } from \"./constant\";\r\n\r\nexport interface AbstractControl2 extends AbstractControl {\r\n [key: string]: any;\r\n}\r\n\r\nexport type ErrorTriggerState = 'touched' | 'dirty' | 'submit' | 'always'\r\n\r\nexport type FormGroupDirective2 = FormGroupDirective & {\r\n errorTriggerOn: ErrorTriggerState[];\r\n};\r\n\r\nexport type NgForm2 = NgForm & {\r\n errorTriggerOn: ErrorTriggerState[];\r\n};\r\n\r\nexport interface HttpRequestArgs {\r\n url: string,\r\n field?: string,\r\n request?: object,\r\n params?: object,\r\n method?: 'GET' | 'POST'\r\n}\r\n\r\nexport type LocaleLang = typeof SUPPORTED_LOCALE_LANGS[number];\r\n\r\nexport const LOCALE_LANG_LABELS: Record<LocaleLang, string> = {\r\n en: 'English',\r\n es: 'Español',\r\n fr: 'Français',\r\n de: 'Deutsch',\r\n hi: 'हिन्दी',\r\n bn: 'বাংলা',\r\n pt: 'Português',\r\n ar: 'العربية',\r\n ja: '日本語',\r\n zh: '中文',\r\n ru: 'Русский',\r\n};\r\n\r\nexport interface LocalizedMessage {\r\n en?: string;\r\n ar?: string;\r\n es?: string;\r\n fr?: string;\r\n de?: string;\r\n hi?: string;\r\n bn?: string;\r\n pt?: string;\r\n ja?: string;\r\n zh?: string;\r\n ru?: string;\r\n [langCode: string]: string | undefined; // allows any additional language code\r\n}\r\n\r\nexport interface LocalizedMessageGroup {\r\n [ruleName: string]: LocalizedMessage | NestedLocalizedMessage\r\n}\r\n\r\nexport interface NestedLocalizedMessage {\r\n array: LocalizedMessage;\r\n numeric: LocalizedMessage;\r\n string: LocalizedMessage;\r\n}\r\n\r\nexport interface ValidationMessages {\r\n above: LocalizedMessage;\r\n accepted: LocalizedMessage;\r\n after: LocalizedMessage;\r\n alpha: LocalizedMessage;\r\n alpha_dash: LocalizedMessage;\r\n alpha_numeric: LocalizedMessage;\r\n array: LocalizedMessage;\r\n before: LocalizedMessage;\r\n boolean: LocalizedMessage;\r\n confirmed: LocalizedMessage;\r\n credit_card: LocalizedMessage;\r\n cvv: LocalizedMessage;\r\n date: LocalizedMessage;\r\n date_format: LocalizedMessage;\r\n debit_card: LocalizedMessage;\r\n different: LocalizedMessage;\r\n dimension: LocalizedMessage;\r\n email: LocalizedMessage;\r\n ends_with: LocalizedMessage;\r\n equals: LocalizedMessage;\r\n between: LocalizedMessage;\r\n exists: LocalizedMessage;\r\n image: LocalizedMessage;\r\n in: LocalizedMessage;\r\n includes: LocalizedMessage;\r\n integer: LocalizedMessage;\r\n ip: LocalizedMessage;\r\n ipv4: LocalizedMessage;\r\n ipv6: LocalizedMessage;\r\n json: LocalizedMessage;\r\n max: NestedLocalizedMessage;\r\n min: NestedLocalizedMessage;\r\n mimes: LocalizedMessage;\r\n not_equals: LocalizedMessage;\r\n not_in: LocalizedMessage;\r\n not_regex: LocalizedMessage;\r\n number: LocalizedMessage;\r\n phone_no: LocalizedMessage;\r\n range: LocalizedMessage;\r\n regex: LocalizedMessage;\r\n required: LocalizedMessage;\r\n required_if: LocalizedMessage;\r\n required_unless: LocalizedMessage;\r\n required_with: LocalizedMessage;\r\n required_with_all: LocalizedMessage;\r\n required_without: LocalizedMessage;\r\n required_without_all: LocalizedMessage;\r\n same: LocalizedMessage;\r\n size: LocalizedMessage;\r\n starts_with: LocalizedMessage;\r\n string: LocalizedMessage;\r\n strength: LocalizedMessage;\r\n under: LocalizedMessage;\r\n url: LocalizedMessage;\r\n uuid: LocalizedMessage;\r\n unique: LocalizedMessage;\r\n video: LocalizedMessage;\r\n}\r\n\r\nexport interface StrengthLevel {\r\n id: string,\r\n description?: string,\r\n regex: string\r\n}\r\n\r\nexport interface StrengthColor {\r\n max?: number,\r\n min?: number,\r\n color: string\r\n}\r\n\r\nexport type FieldType = 'control' | 'group' | 'array';\r\n\r\nexport interface FieldConfig {\r\n label: string,\r\n name: string;\r\n type: FieldType;\r\n options?: any,\r\n}\r\n\r\nexport interface AsyncRuleConfig {\r\n name: 'exists' | 'unique' | 'dimension';\r\n url?: string;\r\n field?: string;\r\n method?: 'GET' | 'POST';\r\n request?: Record<string, any>;\r\n params?: Record<string, any>;\r\n args?: string\r\n}\r\n\r\nexport interface ControlFieldConfig extends FieldConfig {\r\n type: 'control';\r\n value?: any\r\n rule?: string | string[];\r\n asyncRule?: AsyncRuleConfig[]\r\n}\r\n\r\nexport interface GroupFieldConfig extends FieldConfig {\r\n type: 'group';\r\n children: DynamicFieldConfig[];\r\n}\r\n\r\nexport interface ArrayFieldConfig extends FieldConfig {\r\n type: 'array';\r\n children: DynamicFieldConfig[]\r\n}\r\n\r\nexport type DynamicFieldConfig = ControlFieldConfig | GroupFieldConfig | ArrayFieldConfig;\r\n","/*\r\n * Public API Surface of ng-absolute-validator\r\n */\r\nexport * from './lib/ng-absolute-validator.service';\r\nexport * from './lib/ng-absolute-validator.component';\r\nexport * from './lib/ng-absolute-validator.module';\r\nexport * from './lib/services/reactive.validate';\r\nexport * from './lib/interface';\r\n\r\nexport * from './lib/directive';\r\nexport * from './lib/rule';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgAbsoluteValidatorService","i2","i1","i1.HttpRequestService","i2.NgAbsoluteValidatorService","debounceTime","i1.MessageBuilderService","i2.UtilService","i1.ValidateRuleService","Array","Boolean","Date","Number","map","i1.UtilService","i2.MessageBuilderService","Image","distinctUntilChanged","first","i3.MessageBuilderService"],"mappings":"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"}
|