Form Data validation library
Note : Work in progress
let b = makeBoel();
const rules = [
b.field('name').isRequired().minLength(5).maxLength(100),
b.field('email').isEmail().isRequired(),
]
let res = b.validate(rules, formData)
if(res.has_errors){
//res.error_map[field_ame].message contains the error message
email_error = res.error_map.email.message
} b.field('age').isBetween(10,60).message("Age out of range").onlyWhen("paying_now==1"),
/** Compare between fields */
b.field('current_salary').isGreaterThan('prev_salary'),/** multiple fields at the same time */
b.fields("name", "email").areRequired().maxLength(100);
// Fields name and email are required with maxlength 100 (for both fields)/** change/translate message templates for all validations */
b.updateMessages({
'Required':"{{field}} is required",
"MaxLength":"The input shouldn't exceed {{max_length}} characters"
})For example:
b.field("name").isRequired()
b.field("total").required()checks the length of the input in characters
b.field("name").maxLength(32)
b.field("email").checkMaxLength(23)
b.fields("address1","address2").maxLength(52)requires a minimum length for the input
b.field("name").minLength(5)
b.field("email").checkMinLength(5)checks whether the input contains English Alphabetic Characters only An optional flag can be used to allow spaces in the input.
b.field("code").isAlphabetic()
b.fields("code1", "code2").areAlphabetic(/*allow spaces*/ true)Allows English alphabetic and numeric characters in the input An optional flag can be used to allow spaces in the input.
b.field("code").isAlphaNumeric()
b.fields("code1", "code2").areAlphaNumeric(/*allow spaces*/ true)Checks the input to be in a valid email format. (It doesn't check the existence of the email)
b.field("user_email").isEmail()
b.fields("email1", "email2").areEmails()Compare the input to a fixed number
b.field("weight").isLessThan(80)
b.fields("luggage", "checkin").areLessThan(25)Check whether the input is <= a number
b.field("weight").lessThanOrEqualTo(82)
b.fields("luggage", "checkin").areLessThanOrEqualTo(35)