Check Form
Simple yet powerful way to build and validate HTML forms.
Install:
$ npm install check-form
What Check Form Looks Like
app.html:
Given Name Surname Email Username Password Signup
app.js:
var Form = require('check-form'); var EMAIL = /^[A-Za-z][A-Za-z0-9]{2,}[@][A-Za-z0-9\-]+[.][A-Za-z0-9]{2,}$/; function validName(validation) { var value = validation.value.trim(); var valid = /^[A-Za-z][A-Za-z\-]{2,}$/.test(value); validation.setValidation({ valid: valid, value: value, message: valid ? '' : validation.key + ' must not contain non-letter characters.' });} var signupForm = new Form({ fields: { given_name: validName, surname: validName, email: function (validation) { var value = validation.value.trim(); var valid = EMAIL.test(value); validation.setValidation({ valid: valid, value: value, message: valid ? '' : 'invalid email.' }); }, username: function (validation) { var value = validation.value.trim(); var valid = /^[A-Za-z][A-Za-z0-9]{2,}$/.test(value); validation.setValidation({ valid: valid, value: value, message: value.length < 3 ? 'username must be at least 3 characters.' : valid ? '' : 'username must not contain special characters.' }); }, password: function (validation) { var value = validation.value; var valid = value.length >= 6; validation.setValidation({ valid: valid, value: value, message: valid ? '' : 'password must be at least 6 characters.' }); } }, action: function (data, callback) { // do something with data callback(/*err, res*/); }}); // signupForm.fill(data) returns self// signupForm.serialize(FormElement) returns self// signupForm.validate([key]) returns (true|false|null)// signupForm.submit(callback) returns (true|false|null)// signupForm.reset() returns self// signupForm.bind(formElement)// signupForm.unbind(formElement)