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 }

このような感じになる。まだ完成していないので、勝手にコピーして自前で作ると良い。