Zend_Validate_Db_RecordExists

よくユーザ登録とかそういう機能を実装してると、既に登録済みかチェックして、登録済みならエラーというような処理ってよくあると思う。
そんな機能をバリデータでやりたいなーと思って、大分前に作ったあった。
前に作った物だから、PHPSpec でテストコードを書いてたけど、今は PHPUnit に乗り換えたから、テストコードをポーティングしていた。


で、今日たまたま Zend Framework の Validate のドキュメントを見てたら、Zend_Validate_Db_RecordExists なるものが(´・ω・`)
いつの間に…orz

Zend_Validate_Db_RecordExists および Zend_Validate_Db_NoRecordExists は、 データベースのテーブル上に 指定した値のレコードが存在するかどうかを調べる手段を提供します。

http://framework.zend.com/manual/ja/zend.validate.set.html#zend.validate.Db

Zend_Validate_Db_RecodeExists の方は Zend_Db に依存してるみたいだけど、Doctrine とかを使うようになったら拡張すれば良いか。
デフォルトで用意されてる方を使う方が良いし。
方法論が概ね同じだったのが救い(´・ω・`)