mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
#726 regex validators
This commit is contained in:
@@ -188,3 +188,29 @@ export class MaxValueFieldValidator implements FormFieldValidator {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class RegExFieldValidator implements FormFieldValidator {
|
||||||
|
|
||||||
|
private supportedTypes = [
|
||||||
|
FormFieldTypes.TEXT,
|
||||||
|
FormFieldTypes.MULTILINE_TEXT
|
||||||
|
];
|
||||||
|
|
||||||
|
isSupported(field: FormFieldModel): boolean {
|
||||||
|
return field &&
|
||||||
|
this.supportedTypes.indexOf(field.type) > -1 &&
|
||||||
|
!!field.regexPattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
validate(field: FormFieldModel): boolean {
|
||||||
|
if (this.isSupported(field) && field.value) {
|
||||||
|
if (field.value.length > 0 && field.value.match(new RegExp('^' + field.regexPattern + '$'))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
field.validationSummary = 'Invalid value format';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@@ -28,7 +28,8 @@ import {
|
|||||||
MinLengthFieldValidator,
|
MinLengthFieldValidator,
|
||||||
MaxLengthFieldValidator,
|
MaxLengthFieldValidator,
|
||||||
MinValueFieldValidator,
|
MinValueFieldValidator,
|
||||||
MaxValueFieldValidator
|
MaxValueFieldValidator,
|
||||||
|
RegExFieldValidator
|
||||||
} from './form-field-validator';
|
} from './form-field-validator';
|
||||||
|
|
||||||
|
|
||||||
@@ -147,7 +148,8 @@ export class FormFieldModel extends FormWidgetModel {
|
|||||||
new MinLengthFieldValidator(),
|
new MinLengthFieldValidator(),
|
||||||
new MaxLengthFieldValidator(),
|
new MaxLengthFieldValidator(),
|
||||||
new MinValueFieldValidator(),
|
new MinValueFieldValidator(),
|
||||||
new MaxValueFieldValidator()
|
new MaxValueFieldValidator(),
|
||||||
|
new RegExFieldValidator()
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user