okite.js
okite.jsというバリデーションツールを現在進行形で開発している。
https://github.com/myatsumoto/okite
- バリデーションは重要だが、型チェックは非常に面倒
- DAOやServiceなどの層で個別に作らなければならない
なのでokiteとしてスキーマ的に定義しておいてそれをどの層でも共通のバリデーションとしてグローバルに運用すれば、
上記の問題を解決できるのでは、ということで作っている。
使い方(2011/9/5)は
var Okite = require('./../lib/okite').Okite; var oktie = new Okite({ 'a' : { 'type' : 'int', 'required' : true, 'default' : 1 }, 'b' : { 'type' : 'int' } }); okite.check({ 'a' : 1, 'b' : 123 }).is_valid // true var result = okite.convert({ 'a' : '1', 'b' : '0123' }); // result = { a : 1, b : 123 }
このような感じになる。まだ完成していないので、勝手にコピーして自前で作ると良い。