muroiです。
今日はsymfonyのaskeetで学習をしながら気になった記事について書いていきたいと思います。
今回は、ログイン時やコメントなどを投稿する際に使用するvalidationについて書きたいと思います。
そもそもこのvalidationとは何なのかという所なんですが、これはユーザーが入力した誤った値がデータベースなどに入らないようにするためにvalidationを行います。
symfonyで利用するには各モジュールの直下にあるvalidate/ディレクトリにvalidationを書いたYAMLファイルを配備します。
例:
アクション名:input
関数名:executeInput(){}
yaml名:validate/input.yml
上記の例では、アクションがInputなのでvalidate/ディレクトリにあるinput.ymlが適用されます。
このように、アクションと同じ名前のvalidationが適用されるようになっています。
validationの種類
validationを行うのにもいくつかのValidatorが用意されていました。
sfNumberValidator → 数値がどうかの判断と、サイズ制限を適用する事ができます。
sfStringValidator → 文字かどうかの判断と、サイズ制限を適用する事ができます。
sfEmailValidator → e-メールとして正しいか正当性の判断をする事ができます。
実際の使用例
実際にaskeetのログイン画面で適用されているvalidationを使用してみたいと思います。
実行されたアクション → Login
適用されたvalidation → login.yml
ログイン画面

login.yml

nickname欄を空にすると・・・

上記の様に設定されたメッセージが表示されました。
同様に上限下限の設定もしてあるのでその時の画面が以下になります。
5文字以下の場合
10文字以上の場合
ちゃんと表示されました!
設定も簡単にできるのですごく楽にvalidationを使う事ができました。自分でいちいち書いていた頃に比べると非常に簡単に作ることも使う事もできたので感動です!
また、上記であげたValidator以外にもまだ複数あります。他にも自分でクラスを定義してカスタムでバリデーターを作成する事もできました。
validationは今後も使う機会は非常に多いと思うのでしっかりと理解を深めておこうとおもいます!

by スタートアップ研修記 » ASKEET チュートリアル バリデーション、sfView, on 09.04.08 @ 2:14 PM
[...] validationについて学ぶby muroi [...]