diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.spec.ts index 3049242d9b..245fdf1b6a 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.spec.ts @@ -158,6 +158,9 @@ describe('FormFieldValidator', () => { expect(NumberFieldValidator.isNumber('1')).toBeTruthy(); expect(NumberFieldValidator.isNumber('1.0')).toBeTruthy(); expect(NumberFieldValidator.isNumber('-1')).toBeTruthy(); + expect(NumberFieldValidator.isNumber(1)).toBeTruthy(); + expect(NumberFieldValidator.isNumber(0)).toBeTruthy(); + expect(NumberFieldValidator.isNumber(-1)).toBeTruthy(); }); it('should not verify number', () => { @@ -177,6 +180,24 @@ describe('FormFieldValidator', () => { expect(validator.validate(field)).toBeTruthy(); }); + it('should allow number value', () => { + let field = new FormFieldModel(new FormModel(), { + type: FormFieldTypes.NUMBER, + value: 44 + }); + + expect(validator.validate(field)).toBeTruthy(); + }); + + it('should allow zero number value', () => { + let field = new FormFieldModel(new FormModel(), { + type: FormFieldTypes.NUMBER, + value: 0 + }); + + expect(validator.validate(field)).toBeTruthy(); + }); + it('should fail for wrong number value', () => { let field = new FormFieldModel(new FormModel(), { type: FormFieldTypes.NUMBER, diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.ts b/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.ts index 843e84aaec..8b6ae005e8 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/core/form-field-validator.ts @@ -106,11 +106,12 @@ export class NumberFieldValidator implements FormFieldValidator { field.value === '') { return true; } + let valueStr = '' + field.value; let pattern = new RegExp(/^-?\d+$/); if (field.enableFractions) { pattern = new RegExp(/^-?[0-9]+(\.[0-9]{1,2})?$/); } - if (field.value.match(pattern)) { + if (valueStr.match(pattern)) { return true; } field.validationSummary = 'Incorrect number format';