2015年8月21日mikaduki前回に引き続き、フォームの作成に関する記事3ということで続きを書いていきます。前回までで、個別にフォームを作成する場合と、バリデーションについて書いていきました。実は、フォームの生成とバリデーションを一緒にできる方法があるので、それについて書いていきたいと思います。動いてるコードポイントオブジェクト指向風のフォーム作成方法さっきも書いたのですけど、Fieldsetはフォームをオブジェクト指向風に作成することが出来ます。いう風に記述した場合にはこんな感じで書いてViewsにset_safeで設定した変数を呼び出すとフォームの属性をナントカしたい場合は場合はこうやります。inputの作成方法はaddメソッドfieldsetクラスに書いてあるメソッドです。フォームに対して、属性やバリデーションの設定をすることができます!作成したinputの編集をするにはfieldメソッドさっきの工程を行う事により、呼び出したオブジェクトに、inputタグを登録というか追加することができます。あ、やっぱし編集したいとかあると思います。そんな時にfieldが役に立ちます。これでtextboxで作った奴が、checkboxに変更されました!選択肢が複数ある場合選択肢を設定できるコンボボックスやチェックボックスやラジオボタン作る場合にはoptionsを設定することで、選択肢を指定できます。optionsの値に入れた配列が選択肢として出力されます。後でoptions追加するならこうなります。バリデーションルールを追加するバリデーションルールを追加するにはadd_ruleメソッドを使います。これも同じ感じで、$obj->add_ruleって感じで使っていきます。こんな感じになります。モデルのフィールドをinputタグとして使う場合モデルをフォームにそっくりそのまま作り変えることもできます。Fieldset::forgeする際にadd_modelメソッドを呼び出す事で可能になります。この後でbuildすれば、モデルの内容がフォームとして出力されます。モデルにフォームのタイプを設定するモデルの配列の中に設定します。コードにコメント入れる形で見ていきます。こんな感じで、作成されているモデルや、作成したモデルに追加していく形になります。選択肢がある場合だとこういう風になります。typeをchekboxやradioにすると、そのようにフォームが変わります。optionsもこんな感じで設定することができます。textareaはこう設定します。バリデーションの設定バリデーションもモデルに設定することができます。validationの中に設定したバリデーションを入れると、そのバリデーションが実行されます。ややこしい奴もできます。こんな感じで正規表現もできたりします。バリデーションの一覧は公式に詳しく載っていたりします。ルール表を参考にしてください。・fieldメソッドを使って、フォームの追加したり削除する・fieldメソッドを使ってバリデーションを追加したり削除したりするこんな感じでmodelからフォームを作成した場合には$obj->fieldとか$obj->addとかが便利になります。動いてるコード自分が書いて動いてるメソッドを取り出してみます。今回もお付き合い頂いて下さった方、どうもありがとうございました。スポンサーリンクFacebookTwitterはてブPocketFeedlyこの記事を書いた人mikaduki名古屋でエンジニアしています。好きな言語はPHPとJavaScriptです。理由は始めやすいからです。LinuxOSはCentOS、DBはMySQLが好きです。理由は無料だからです。ホスティングはロリポが好きです。クラウドはAWSを使います。理由は資格を持ってるからです。【fuelphp】インストール2013年11月14日WordFes2014に参加してきました。メシのタネ管理人おすすめの記事イベント専門学校でWordPressを教えてきたこの業界入って初めて、人前に立って何か教えてきました。リラックスしながら教える事ができたような気がします。こんな機会をくれたWord...git【Git】バージョン管理入門Win環境でやってます。サーバー建ててプログラム動かせたら良いなと思ってVagrantfileを探しました。INTO初歩の初歩から勉強をやり直してます。今はphpからmysqlにデータを挿入して予定帳みたいなの作ろうとしてます。自分の会社で名刺作ってて、やってる開発の中にOfficeの開発もあるので、ロゴが使用できたら作りやすいんだけどなーと思ってたら、こういう記事...Linux【centos6】postfixとDovecotでメールサーバを建てた特にメールサーバー建てなくても良いんですけど、勉強の為に建ててみました。「めしのたね」になり得るプログラミング技術の紹介や自分が過去に行った検証や技術界隈のニュースなど、IT全般を取り扱っていくブログになっています。管理人のキャリアはWeb制作で2年HTML/CSS/コンテンツ作成を行い、従業員5人のソフトウェアハウスでエンジニアとして4年間Webサービス制作案件に従事し、Sierで4年近くPG、SE、PMと色んな立場でプレーしてきました。この観点から、業界についての話題も取り上げて行きたいと思ってます。Reserved.アーカイブ2020年1月2019年12月2019年11月2019年10月2019年2月2018年9月2018年2月2017年10月2017年3月2016年11月2016年8月2016年6月2016年3月2016年1月2015年12月2015年9月2015年8月2015年7月2015年6月2015年5月2015年4月2015年3月2015年2月2015年1月2014年12月2014年11月2014年10月2014年9月2014年8月2014年7月2014年6月2014年5月2014年4月2014年3月2013年11月2013年10月2013年7月2013年6月2013年5月2013年4月2013年3月2012年12月2012年11月2012年9月2012年8月2012年7月2011年7月2011年6。