validis
Version:
Validation made simple! 🚀 This package gives you all the tools you need to quickly and effortlessly validate emails, phone numbers, passwords, character limits, and more. Whether you’re checking for a positive number, enforcing a specific range, or custo
58 lines (54 loc) • 1.44 kB
JavaScript
import Schema from './Schema.js';
/**
* Boolean Schema for boolean validations
*/
class BooleanSchema extends Schema {
constructor() {
super();
// Add base boolean type validation
this.validations.push({
code: 'boolean',
fn: (value) => {
return typeof value === 'boolean'
? { valid: true }
: { valid: false, reason: 'Value must be a boolean' };
}
});
this.errorMessages.push('Value must be a boolean');
}
/**
* Validates boolean is true
* @param {string} message - Custom error message
* @returns {BooleanSchema} - The schema instance for chaining
*/
true(message = 'Value must be true') {
this.validations.push({
code: 'boolean.true',
fn: (value) => {
return value === true
? { valid: true }
: { valid: false, reason: message };
}
});
this.errorMessages.push(message);
return this;
}
/**
* Validates boolean is false
* @param {string} message - Custom error message
* @returns {BooleanSchema} - The schema instance for chaining
*/
false(message = 'Value must be false') {
this.validations.push({
code: 'boolean.false',
fn: (value) => {
return value === false
? { valid: true }
: { valid: false, reason: message };
}
});
this.errorMessages.push(message);
return this;
}
}
export default BooleanSchema;