udos86 / ng-dynamic-forms

Rapid form development library for Angular
ISC License
1.32k stars 367 forks source link

custom validation issue on kendo #1156

Closed olayda closed 2 years ago

olayda commented 2 years ago

I'm submitting a


[ ] Bug / Regression
[ ] Feature Request / Proposal

I'm using


NG Dynamic Forms Version: `X.Y.Z`

[ ] Basic UI
[ ] Bootstrap UI  
[ ] Foundation UI
[ ] Ionic UI
[ x] Kendo UI
[ ] Material  
[ ] NG Bootstrap
[ ] Prime NG

Description

hello, I am trying to create custom validation for my datepicker

new DynamicFormGroupModel({ id: "etaDetails", legend: "Details", group: [ new DynamicDatePickerModel({ id: "etaDate", label: "ETA*", format: "dd/MM/yyyy",

            validators:{
                required: null,
              //  myCustomValidator: null,
            }
            // ,errorMessages: {
            //     myCustomValidator: 'ETA must be within 3 months'
            // },

        }),

I implemented this to my module file too
providers: [ HIDDEN_MATCHER_PROVIDER,DISABLED_MATCHER_PROVIDER, REQUIRED_MATCHER_PROVIDER, {provide: NG_VALIDATORS, useValue: myCustomValidator, multi: true}],

and my abstract file looks like this

import { AbstractControl, ValidationErrors } from "@angular/forms";

export function myCustomValidator(control: AbstractControl): ValidationErrors | null { const hasError = control.value ? (control.value as string).startsWith("abc") : false; return hasError ? {myCustomValidator: true} : null; }

I get this error cannot read properties of undefined (reading 'invalid') at DynamicFormValidationService.showErrorMessages.

Could you please help be about what I am doing wrong. Thank you