boel
v1.0.8
Published
Form Data validation library
Downloads
146
Maintainers
Readme
BoelJS
Form Data validation library
Note : Work in progress
Usage
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
}
Validate conditionally
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'),
Shortcut for validating multiple fields, same validations
/** 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)
Customize/Translate Error message templates
/** change/translate message templates for all validations */
b.updateMessages({
'Required':"{{field}} is required",
"MaxLength":"The input shouldn't exceed {{max_length}} characters"
})
List of Validations
Required
For example:
b.field("name").isRequired()
b.field("total").required()
MaxLength
checks the length of the input in characters
b.field("name").maxLength(32)
b.field("email").checkMaxLength(23)
b.fields("address1","address2").maxLength(52)
MinLength
requires a minimum length for the input
b.field("name").minLength(5)
b.field("email").checkMinLength(5)
Alphabetic
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)
Alphanumeric
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()
Less Than
Compare the input to a fixed number
b.field("weight").isLessThan(80)
b.fields("luggage", "checkin").areLessThan(25)
Less Than Or Equal To
Check whether the input is <= a number
b.field("weight").lessThanOrEqualTo(82)
b.fields("luggage", "checkin").areLessThanOrEqualTo(35)