Light weight
No dependencies
Customizable rules messages and styles
Support bootstrap and semantic
Useable RegExp on html
Support IE8+
<input type="text" data-rule="required">
<input type="text" data-rule="/^[a-z]+$/i/Please input letters">
<input type="text" data-rule="failCss(fail-error)">
new SMValidator('form', {
rules: {
//define a rule by RegExp
onlyNumber: [/^-?\d+(\.{1}\d+)?$/, 'Please input letters'],
//define a rule by Function
greater: function(val, num) {
return (val*1 > num*1) || 'Please input a number that greater than ' + num;
}
},
fields: {
//fieldName1 match input's name
fieldName1: {
required: true,
rule: 'onlyNumber|greater(10)',
failCss: 'fail-error'
}
}
});
Support third-party UI framework
| bootstrap demo | semantic demo |
![]() |
![]() |
npm install --save SMValidator
bower install SMValidator
npm run buildcheckbox invalid in IE8
<select> only validate on blur in IE9~11, because it's not support oninput
SMValidator.js source with config
SMValidator.min.js the minify for SMValidator.js
SMValidator.pure.min.js without config, set rule and style by yourself
some inspirations comes from: nice-validator
$ claude mcp add SMValidator \
-- python -m otcore.mcp_server <graph>