Merge pull request #3127 from JaySoni1/WEB-699-fund-mapping-loan-status-and-product-fields-should-be-optional-for-search
WEB-699 Fund Mapping: Loan Status and Product fields should be option…
This commit is contained in:
@@ -28,9 +28,7 @@ import {
|
||||
UntypedFormBuilder,
|
||||
UntypedFormControl,
|
||||
Validators,
|
||||
ReactiveFormsModule,
|
||||
AbstractControl,
|
||||
ValidationErrors
|
||||
ReactiveFormsModule
|
||||
} from '@angular/forms';
|
||||
import { ActivatedRoute, RouterLink } from '@angular/router';
|
||||
|
||||
@@ -122,39 +120,14 @@ export class FundMappingComponent implements OnInit {
|
||||
this.buildDependencies();
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom validator to ensure array fields are not empty.
|
||||
* @param {AbstractControl} control - the form control to validate.
|
||||
* @returns {ValidationErrors | null} - validation errors or null if valid.
|
||||
*/
|
||||
private nonEmptyArrayValidator(control: AbstractControl): ValidationErrors | null {
|
||||
const value = control.value;
|
||||
if (!value || !Array.isArray(value) || value.length === 0) {
|
||||
return { required: true };
|
||||
}
|
||||
if (value.every((item: any) => item === '' || item === null || item === undefined)) {
|
||||
return { required: true };
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the Fund Mapping Form
|
||||
*/
|
||||
createFundMappingForm() {
|
||||
this.fundMappingForm = this.formBuilder.group({
|
||||
loanStatus: [
|
||||
[],
|
||||
this.nonEmptyArrayValidator.bind(this)
|
||||
],
|
||||
loanProducts: [
|
||||
[],
|
||||
this.nonEmptyArrayValidator.bind(this)
|
||||
],
|
||||
offices: [
|
||||
[],
|
||||
this.nonEmptyArrayValidator.bind(this)
|
||||
],
|
||||
loanStatus: [[]],
|
||||
loanProducts: [[]],
|
||||
offices: [[]],
|
||||
loanDateOption: [
|
||||
'',
|
||||
Validators.required
|
||||
|
||||
Reference in New Issue
Block a user