koji::*

主に技術系。他に雑多なことをアレコレと

validationについて思う事。

Webアプリの開発をしているとvalidationという言葉をよく使うのですが、
自分はどういう意味で使っているだろうか?と考えてみたりしました。

結論としては、大体二つの意味にまとまりました。

                                                                              • -

機能としてのvalidation

                                                                              • -

これは「郵便番号なら○○○-××××のフォーマットで数字だよね」とか
「ここはtweetだから140文字だよね」みたいな
機能としてこうなるよね、という点をチェックするためのvalidationです。
機能に合わせて、データの中身をチェックする感じなので
自前でvalidationを書く事も多そうな気がします。

                                                                              • -

脆弱性対策としてのvalidation

                                                                              • -

いわゆるSQLインジェクションXSSのたぐいを回避するためのvalidationです。
こっちはエスケープ用のlibraryやmoduleが言語ごとに色々あるので
適切なものを選んで使う感じになるでしょうか。

こんなざっくりまとめると、セキュリティの偉い人なんかに怒られそうですが
実際にアプリを実装していてvalidationを書く時に
自分が何に対してvalidationをしているのか意識すると
関数設計なんかに筋が通りやすいなーと思ったので
軽くまとめてみた次第です。

あ、validationやりませんとかはカンベンな。