1.0.34 • Published 5 years ago
sofair-form-validation v1.0.34
Form validation library
INPUT TYPE ENUM
export enum INPUT_TYPE {
TEXT = 'text',
NUMBER = 'number',
SELECT = 'select',
MULTISELECT = 'multiselect',
CHECKBOX = 'checkbox',
RADIO = 'radio',
}
Form Object
const form = {
name: { name: 'name', type: INPUT_TYPE.TEXT, validation: { required: true, min: 4, max: 5 } },
phone_number: { name: 'phone_number', type: INPUT_TYPE.NUMBER, validation: { required: true, min: 99, max: 999 } },
select: { name: 'select', type: INPUT_TYPE.SELECT, validation: { required: true, min: null, max: null } },
multiselect: { name: 'multiselect', type: INPUT_TYPE.MULTISELECT, validation: { required: true, min: 2, max: 3 } },
};
Values Object
const values = {
name: 'aaaa',
phone_number: 150,
select: 1,
multiselect: [1, 2, 3, 4]
};
INPUT TYPE VALIDATION ERROR ENUM
export enum INPUT_TYPE_VALIDATION_ERROR {
UNKNOWN = 'UNKNOWN_INPUT_TYPE',
INPUT_TEXT_REQUIRED = 'INPUT_TEXT_REQUIRED',
INPUT_TEXT_MIN = 'INPUT_TEXT_MIN',
INPUT_TEXT_MAX = 'INPUT_TEXT_MAX',
INPUT_NUMBER_REQUIRED = 'INPUT_NUMBER_REQUIRED',
INPUT_NUMBER_MIN = 'INPUT_NUMBER_MIN',
INPUT_NUMBER_MAX = 'INPUT_NUMBER_MAX',
INPUT_SELECT_REQUIRED = 'INPUT_SELECT_REQUIRED',
INPUT_MULTISELECT_REQUIRED = 'INPUT_MULTISELECT_REQUIRED',
INPUT_MULTISELECT_MIN = 'INPUT_MULTISELECT_MIN',
INPUT_MULTISELECT_MAX = 'INPUT_MULTISELECT_MAX',
INPUT_CHECKBOX_REQUIRED = 'INPUT_CHECKBOX_REQUIRED',
INPUT_RADIO_REQUIRED = 'INPUT_RADIO_REQUIRED',
}
ErrorObject
const errorMessagesObject = {
code: INPUT_TYPE_VALIDATION_ERROR.INPUT_MULTISELECT_MAX,
params: { max: 4 }
};
Validate form function -> return Promise<{ formInputId => ErrorObject }>
Validator.validateForm(form, values);
ErrorMessagesObject
const errorMessages = {
INPUT_TYPE_VALIDATION_ERROR.INPUT_MULTISELECT_MAX: 'max selected items is #*@max@*#'
}
Get error message -> Promise
Validator.errorMessage(errorMessagesObject[formInputId][err.code], err.params);
1.0.34
5 years ago
1.0.33
6 years ago
1.0.32
6 years ago
1.0.31
6 years ago
1.0.30
6 years ago
1.0.29
6 years ago
1.0.28
6 years ago
1.0.27
6 years ago
1.0.26
6 years ago
1.0.25
6 years ago
1.0.24
6 years ago
1.0.23
6 years ago
1.0.22
6 years ago
1.0.21
6 years ago
1.0.20
6 years ago
1.0.19
6 years ago
1.0.18
6 years ago
1.0.17
7 years ago
1.0.16
7 years ago
1.0.15
7 years ago
1.0.14
7 years ago
1.0.13
7 years ago
1.0.12
7 years ago
1.0.11
7 years ago
1.0.10
7 years ago
1.0.9
7 years ago
1.0.8
7 years ago
1.0.7
7 years ago
1.0.6
7 years ago
1.0.5
7 years ago
1.0.4
7 years ago
1.0.3
7 years ago
1.0.2
7 years ago
1.0.1
7 years ago
1.0.0
7 years ago