ども。Webエンジニアの ishino です。
最近 FuelPHP を触る機会が増えてきたのていたので、学んだことを少しづつに記事にしていこうと思います。
珍しく、真面目にプログラムのこと書きましたので、よろしくお願いします。
FuelPHPとは?
FuelPHPはPHPで書かれたオープンソースのHMVCパターンを使うフレームワークです。
フレームワークは基本的な機能が揃っているので、高速にアプリケーションを開発することができます。
PHPのフレームワークにはたくさんの種類がありますが、中でもFuelPHPは比較的新しく、軽量で中規模のアプリケーションの開発に向いていると言われています。
validationの基本
FuelPHPは、POSTされた値の内容に対して、かんたんにvalidationをかけることができます。
必須項目の入力チェックは
1$val = Validation::forge();
2$val->add('name', '名前')
3->add_rule('required');
でOKです。
ただ、複雑なvalidationチェックを行うには、自分で設定しなければなりません。
はじめは、この書き方が分からず、調べましたのでここに書いておきます。
複雑な 独自Validation 設定には Closure を使う
1$option['name'] = 'hoge';
2$val = Validation::forge();
3$val->add('name', '名前')
4->add_rule(['validation_name' => function($name) use ($option) {
5if ($name != $option['name']) {
6Validation::active()->set_message('validation_name', '「:label」が正しくありません');
7return false;
8} else {
9return true;
10}
11}]);
このようにClosureを使うことで、独自validationを記述できるようになります。
また、functionの引数にはPOSTの値が、
その他でvalidtionで使うパラメータはuseで渡すことも可能です。
また、独自Validationを複数設定する時は、Closureに名前を設定しないとエラーメッセージが上書きされてしまうので、
上のコードのように名前を設定しておくといいですよ。
◎下の記事が参考になりました。