UNPKG

@plone/volto

Version:
172 lines (148 loc) 3.9 kB
import { ConfigType } from '@plone/registry'; import { minLengthValidator, maxLengthValidator, urlValidator, emailValidator, isNumberValidator, maximumValidator, minimumValidator, isIntegerValidator, maxItemsValidator, minItemsValidator, hasUniqueItemsValidator, startEventDateRangeValidator, endEventDateRangeValidator, patternValidator, defaultLanguageControlPanelValidator, sizeValidator, } from '@plone/volto/helpers/FormValidation/validators'; const registerValidators = (config: ConfigType) => { config.registerUtility({ name: 'minLength', type: 'validator', dependencies: { fieldType: 'string' }, method: minLengthValidator, }); config.registerUtility({ name: 'maxLength', type: 'validator', dependencies: { fieldType: 'string' }, method: maxLengthValidator, }); config.registerUtility({ name: 'size', type: 'validator', dependencies: { fieldType: 'object' }, method: sizeValidator, }); config.registerUtility({ name: 'pattern', type: 'validator', dependencies: { fieldType: 'string' }, method: patternValidator, }); config.registerUtility({ name: 'minLength', type: 'validator', dependencies: { fieldType: 'password' }, method: minLengthValidator, }); config.registerUtility({ name: 'maxLength', type: 'validator', dependencies: { fieldType: 'password' }, method: maxLengthValidator, }); config.registerUtility({ name: 'pattern', type: 'validator', dependencies: { fieldType: 'password' }, method: patternValidator, }); config.registerUtility({ name: 'email', type: 'validator', dependencies: { widget: 'email' }, method: emailValidator, }); config.registerUtility({ name: 'url', type: 'validator', dependencies: { widget: 'url' }, method: urlValidator, }); config.registerUtility({ name: 'number', type: 'validator', dependencies: { fieldType: 'number' }, method: isNumberValidator, }); config.registerUtility({ name: 'minimum', type: 'validator', dependencies: { fieldType: 'number' }, method: minimumValidator, }); config.registerUtility({ name: 'maximum', type: 'validator', dependencies: { fieldType: 'number' }, method: maximumValidator, }); config.registerUtility({ name: 'integer', type: 'validator', dependencies: { fieldType: 'integer' }, method: isIntegerValidator, }); config.registerUtility({ name: 'minimum', type: 'validator', dependencies: { fieldType: 'integer' }, method: minimumValidator, }); config.registerUtility({ name: 'maximum', type: 'validator', dependencies: { fieldType: 'integer' }, method: maximumValidator, }); config.registerUtility({ name: 'maxItems', type: 'validator', dependencies: { fieldType: 'array' }, method: maxItemsValidator, }); config.registerUtility({ name: 'minItems', type: 'validator', dependencies: { fieldType: 'array' }, method: minItemsValidator, }); config.registerUtility({ name: 'uniqueItems', type: 'validator', dependencies: { fieldType: 'array' }, method: hasUniqueItemsValidator, }); config.registerUtility({ name: 'dateRangeValidator', type: 'validator', dependencies: { behaviorName: 'plone.eventbasic', fieldName: 'start' }, method: startEventDateRangeValidator, }); config.registerUtility({ name: 'dateRangeValidator', type: 'validator', dependencies: { behaviorName: 'plone.eventbasic', fieldName: 'end' }, method: endEventDateRangeValidator, }); config.registerUtility({ name: 'default_language', type: 'validator', dependencies: { format: 'default_language' }, method: defaultLanguageControlPanelValidator, }); }; export { registerValidators };