validator使いつつ、入力情報を残したい。

★ブログ移行のお知らせ
サイトを移行しました。以下をクリックください。
きよしの倶楽部 – 生活を潤わす情報を発信中。GTDを得意としてます。


ーーー
symfonyのvalidatorはとても便利です。いろいろバリデーターを定義できます。
ただし、基本機能ままではバリデートに引っかかって、エラーメッセージを出力させるまでは良いのですが、せっかく入力したデータが消えてしまいます。


例)
メールアドレスを入力するフォームで"acb@dummy.com"を入力しようとしました。しかし、@のあとに"dummy."を入力し忘れたとします。

↓メールアドレス形式で入力してください↓



あれ? さっき入力した"acb@com"がない! 間違えた入力がリセットされてしまうのです。本来であれば

↓メールアドレス形式で入力してください↓



こういうかたちにエラー表示されると嬉しいです。"dummy."だけを追加すればよいので全部打ち直すより楽です。symfonyであればこんなの簡単に出来てしまいます。


おそらく大抵のプログラムでは、バリデート後のハンドルとしてhandleErrorを記載していると思います。もしくはそれに準じる箇所に、たとえば

$this->address = $this->getRequestParameter('adrees');
などと記載し、もう一度、viewにPOSTされてきたデータを渡せばOKです。view側は単に
<?php echo input_tag('address', $address) ?>
と書いておくだけです。



[AD]:symfony本の決定版!

symfony徹底攻略 [PHP徹底攻略シリーズ]

symfony徹底攻略 [PHP徹底攻略シリーズ]

楽天
[rakuten:book:12638392:title]



ただし、パスワードだけは毎回入力させ、セキュリティーに配慮しましょう。


↑クリック協力お願いします!