cheetah-framework
Version:
Cheetah Framework JS used in all our applications
30 lines (26 loc) • 1.06 kB
JavaScript
export default function (component, value, isMultiple = false) {
const errorParams = { value }
const parsedValue = +value
if (component.selectedField.type === 'integer') {
if (!_.isInteger(parsedValue)) {
component.addError('value', component.getValidationErrorMessage(isMultiple ? 'contains_invalid_integer' : 'invalid_integer', errorParams))
return false
}
} else {
if (!_.isNumber(parsedValue) || _.isNaN(parsedValue)) {
component.addError('value', component.getValidationErrorMessage(isMultiple ? 'contains_invalid_number' : 'invalid_number', errorParams))
return false
} else if (component.selectedField.type === 'decimal') {
const digits = +component.selectedField.typeModifier
if ((parsedValue * Math.pow(10, digits)) % 1) {
component.addError('value', component.getValidationErrorMessage(
isMultiple ? 'contains_too_much_decimals' : 'too_much_decimals',
{ ...errorParams, digits },
digits
))
return false
}
}
}
return true
}