diff --git a/lib/core/form/components/widgets/core/form-field-validator.spec.ts b/lib/core/form/components/widgets/core/form-field-validator.spec.ts index c8099a7b55..786aac49ec 100644 --- a/lib/core/form/components/widgets/core/form-field-validator.spec.ts +++ b/lib/core/form/components/widgets/core/form-field-validator.spec.ts @@ -172,6 +172,29 @@ describe('FormFieldValidator', () => { expect(validator.validate(field)).toBeTruthy(); }); + it('should succeed for check box', () => { + let field = new FormFieldModel(new FormModel(), { + type: FormFieldTypes.BOOLEAN, + required: true, + value: true, + options: [{ id: 'two', name: 'two' }] + }); + + expect(validator.validate(field)).toBeTruthy(); + }); + + it('should fail for check box', () => { + let field = new FormFieldModel(new FormModel(), { + type: FormFieldTypes.BOOLEAN, + required: true, + value: false, + options: [{ id: 'two', name: 'two' }] + }); + field.value = false; + + expect(validator.validate(field)).toBeFalsy(); + }); + }); describe('NumberFieldValidator', () => { diff --git a/lib/core/form/components/widgets/core/form-field-validator.ts b/lib/core/form/components/widgets/core/form-field-validator.ts index 754965f770..c0b826bdf4 100644 --- a/lib/core/form/components/widgets/core/form-field-validator.ts +++ b/lib/core/form/components/widgets/core/form-field-validator.ts @@ -34,6 +34,7 @@ export class RequiredFieldValidator implements FormFieldValidator { FormFieldTypes.TEXT, FormFieldTypes.MULTILINE_TEXT, FormFieldTypes.NUMBER, + FormFieldTypes.BOOLEAN, FormFieldTypes.TYPEAHEAD, FormFieldTypes.DROPDOWN, FormFieldTypes.PEOPLE, @@ -76,6 +77,10 @@ export class RequiredFieldValidator implements FormFieldValidator { return field.value && field.value instanceof Array && field.value.length > 0; } + if (field.type === FormFieldTypes.BOOLEAN) { + return field.value ? true : false; + } + if (field.value === null || field.value === undefined || field.value === '') { return false; }