1.2.0 • Published 6 years ago
validatable-record v1.2.0
validatable-record
Immutable.js Record powered with validate.js
Table of Contents
Install
$ npm install --save validatable-recordUsage
ValidatableRecord returns Record in Immutable.js for extending your own class. Usage is almost the same as Record in Immutable.js, but it has the power of validate.js. With ValidatableRecord, you can define models with built-in validation logic.
const ManRecord = ValidatableRecord({
name: null,
age: null
}, {
name: {
presence: true
},
age: {
presence: {
message: "is invalid"
}
}
});
class Man extends ManRecord {
...
}
const man = new Man({
name: "Justine";
age: 25
});
man.validate() // == true
// Of course you can use `Immutable.Record` methods
man.size // 2
man.get('name') // "Justine"
man.get('age') // 25
const agelessMan = new Man({
name: "Michael"
});
agelessMan.validate() // == false
agelessMan.getErrors() // == [ "Age is invalid" ]
// You can set your own error to model
agelessMan.setError("Unknown error")
agelessMan.getErrors() // = [ "Unknown error" ]Test
$ npm testContribute
PRs accepted.
License
The gem is available as open source under the terms of the MIT License.