From 98cfe7cb261de1509673131549c95bd03a4fb703 Mon Sep 17 00:00:00 2001 From: Mahmut Gundogdu Date: Tue, 23 Aug 2022 17:34:09 +0300 Subject: [PATCH] Fix `The additionally added mandatory propertie is functionally different from other mandatory fields and localization seems broken` --- .../core/src/lib/validators/required.validator.ts | 3 ++- .../extensible-form/extensible-form-prop.component.html | 2 +- .../extensible-form/extensible-form-prop.component.ts | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/validators/required.validator.ts b/npm/ng-packs/packages/core/src/lib/validators/required.validator.ts index bf2a4b47ee..68ad0e8a85 100644 --- a/npm/ng-packs/packages/core/src/lib/validators/required.validator.ts +++ b/npm/ng-packs/packages/core/src/lib/validators/required.validator.ts @@ -9,9 +9,10 @@ export interface RequiredOptions { } export function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn { - return (control: AbstractControl): RequiredError | null => { + const required = (control: AbstractControl): RequiredError | null => { return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true }; }; + return required; } function isValidRequired(value: any, allowEmptyStrings: boolean): boolean { diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html index dd125f5afc..a5eeffa31c 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.html @@ -146,7 +146,7 @@ - diff --git a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts index e9aa694d1f..5e703bcb01 100644 --- a/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts +++ b/npm/ng-packs/packages/theme-shared/extensions/src/lib/components/extensible-form/extensible-form-prop.component.ts @@ -1,4 +1,4 @@ -import { EXTENSIONS_FORM_PROP_DATA, EXTENSIONS_FORM_PROP } from './../../tokens/extensions.token'; +import {EXTENSIONS_FORM_PROP_DATA, EXTENSIONS_FORM_PROP} from './../../tokens/extensions.token'; import {ABP, AbpValidators, ConfigStateService, TrackByService} from '@abp/ng.core'; import { AfterViewInit, @@ -181,7 +181,7 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { } } - ngOnChanges({prop,data}: SimpleChanges) { + ngOnChanges({prop, data}: SimpleChanges) { const currentProp = prop?.currentValue as FormProp; const {options, readonly, disabled, validators, template} = currentProp || {}; if (template) { @@ -195,7 +195,7 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { provide: EXTENSIONS_FORM_PROP_DATA, useValue: (data?.currentValue as PropData)?.record }, - { provide: ControlContainer, useExisting: FormGroupDirective } + {provide: ControlContainer, useExisting: FormGroupDirective} ], parent: this.injector, }); @@ -219,5 +219,5 @@ export class ExtensibleFormPropComponent implements OnChanges, AfterViewInit { } function isRequired(validator: ValidatorFn) { - return validator === Validators.required || validator === AbpValidators.required; + return validator === Validators.required || validator === AbpValidators.required || validator.name === 'required'; }