symfony1.2 で入力の一致チェックを行う場合の注意事項
2009年05月01日(金)09:00|mori
こんにちは、森です。symfony1.2 を使う上で、少し細かい注意事項を見つけたので、ブログ記事にしてみます。題材は入力の一致チェックです。たとえば、入力欄に「パスワード」と「パスワード(確認)」を作成した場合、sfValidatorCompare を用いて、以下のように書くと思います。
$v = new sfValidatorCompare('password', '===', 'password_again');
ところがこれを実行すると、sfValidatorCompare ‘===’ による比較がサポートされていないため、エラーとなります。
$v = new sfValidatorCompare('password', '==', 'password_again');
とすると当然、”000000″ と “000000000″ が等しいと判断されてしまします。この問題を回避するには、sfValidatorCompare を継承した子クラスを作成するか、sfValidatorCompare を使わないなどの個別の対応が必要のようです。 なお、sfValidatorCompare そのものに対する機能追加パッチを本家に送ったところ、symfony1.3 で取り込んでいただけることになりました。はじめてのパッチだったため、すごく嬉しかったです。