FuelPHPによるMVCプログラミング入門

バリデーションでチェック3

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
Validationには、required以外にもさまざまなルールがあります。ここでは、メールアドレスの書式が正しいかどうかをチェックするスクリプトを組み込みながら、他のバリデーションルールについても紹介していきましょう。
講師:
09:11

字幕

ここでは 「Validation で入力チェックをする」の三つ目としまして、一つ前のレッスンでやりました、Validation についてもう少し詳しくお話していきましょう。このレッスンは一つ前、それからもう一つ目のレッスンからの続きとなりますので、是非三つのレッスンを続けてご覧ください。一つ前のレッスンでお名前についてのValidation の処理を実装しました。このようにお名前に何も記入しないで送信すると「お名前は必須項目です。」というメッセージが出ます。ここではメールアドレスについても同じように必須項目とし、さらにメールアドレスについてはその書式チェックも行えるようにしたいと思います。ではファイルの方を準備していきましょう。ここでは一つ前のレッスンで作ったファイルをlessonn05-06 という形でフォルダ名を変えました。そしてドキュメントルートも05-06 に変更しこちらのファイルを編集していきます。まず「app」 「classes」 「controller」こちらのファイルを編集していきましょう。一つ前のレッスンで既に myname についてはこのように add_rule ということで必須項目である required というルールを追加しています。 次の email については$val というのに追加する形でルールを記述することができます。例えばまず必須項目だけを追加してみましょう。email としましてメールアドレスというラベルを付けます。そして次の行に add_rule としましてrequired と、先程と同様の記述をします。これでまずは動作を確認してみましょう。次にビューの方もファイルを変更していきます。こちらの 「views」 「contact」メールアドレスについてはこのように14 行目のところで何も処理がされていませんので一つ前のレッスンでやったのと同様にこちらの処理を入れていきます。手で書いても構いませんし、この一つ前のレッスンで書いたこのスクリプトをコピーしても良いでしょう。このようにコピーし、この error のパラメータをemail 、こちらも同じく email とします。これでエラーメッセージが表示されるようになりました。実際に動きを確認してみましょう。こちら localhost8888 の contact というアドレスにアクセスして名前とメールアドレスのそれぞれを記入しない状態で送信してみます。するとこのように「お名前は必須項目です」「メールアドレスは必須項目です」という形でエラーメッセージが表示されました。 いずれか一方を記入すればこのようにエラーメッセージは消えるのですが、もう一方を選んだ場合はやはり次のページへはジャンプしません。そして両方をこのように記入すれば次の確認画面へジャンプするという形になっています。では今度はメールアドレスについてメールアドレスの書式として正しいかどうかのチェックも加えてみましょう。先程編集していたこちらのcontact.php というcontroller のファイルですがこの add_rule というのは複数繋げることができます。例えばここで先程打ったセミコロンを消していただいてさらにもう一行加えます。ここでは add_rule のvalid_email とします。valid つまり正しいかどうかのemail というルールを記述することで、これによってfuelphp に搭載されているメールアドレスの書式チェックを使うことができるようになります。ビューについては特に変更する必要はありませんのでこのまま動作を確認してみましょう。同じファイルにアクセスします。そしてメールアドレスの部分、まずは何も記入せずに送信してみましょう。先程の required については今も正しく動いています。 ではメールアドレスを入れるのですがここで、正しくないメールアドレス、例えば @ で終わってしまうようなメールアドレスを入れてみましょう。これで送信するとこのように「The field メールアドレス mustcontain a valid email address」またエラーメッセージの内容が英語になっていますがメールアドレスが正しくないということが分かります。このようにメールアドレスの書式として正しいかどうかここではアットマークが入っているか、であったりですとかドットが入っているかであったりというような書式チェックを行ってくれます。この英語のメッセージについては前のレッスンと同様ですが、日本語に直すことができます。「lang」 「ja」 の中に「validation.php」というファイルを作りました。このファイルを編集すると中に様々なエラーメッセージが記述されていますがこの中で今回はこちらのvalid_email というのが今使ったルールになります。そのためこの label という部分は残しながら例えばここでは「正しくないメールアドレスの書式のようです」というような形でメッセージを書き換えればこちらでこのように「メールアドレスが正しくないメールアドレスの書式のようです。」という風になりました。 このようにメッセージの部分をすべて日本語に直しておかないとこのようなルールを追加した時に英語のエラーメッセージがでてしまいますのでプロジェクトを作るときに最初に全て日本語に訳すかまたは日本の有志の方がこちらの日本語に訳したファイルを配布してくれたりもしますのでそちらに差し替えて利用するというのも良いでしょう。また今回使った valid_email の他にも様々なルールがあります。ルールの一覧は fuelphp のドキュメントや入門書などにも記載されていますが、一番簡単なのは今開いている validation.php のこちらの設定内容を見るのが早いかもしれません。 required は必須項目です。min_length と max_length は長さを制限できます。最小の長さ、最高の長さということです。また exact_length というのは文字数に完全な制限がある、何文字という完全に一致する文字数でなければならないというルールです。 match_value というのはあるものに等しいかどうか、という判断。それから match_pattern というのは正規表現を利用することでパターンに沿った記述になっているかどうか、などを判定できます。例えば郵便番号の入力ですとか、そういったものの場合に使えるでしょう。 match_field というのは例えばメールアドレスの再記入などの場合に二回同じものを記入したい場合などに利用することができます。valid_emails というのはメールアドレスを複数指定するとき等にカンマ区切りで指定できるという書式です。valid_url は url として正しいかどうかvalid_ip は ip アドレスとして正しいかどうかnumeric_minnumeric_max というのは数字として最小や最大を指定することができます。valid_string というのはパスワードなどを作るときに許可できる記号などを並べておいてその記号や英数字だけが含まれているかどうかなどを判定することができます。required_with というのはfield の名前を指定することでその field に記入がされていればこの項目も必須にするというようなセットで使う必須項目です。例えばですが、資料請求を希望するかどうかの質問に対して資料請求を希望する場合は住所が必須項目になる、という質問項目の場合にその住所の項目に required_with で資料請求をするというチェックボックスのコントロールの名前を割り当てればよいというような使い方になります。 それぞれ非常に使えるvalidation のルールになりますのでぜひ一つずつ動きを確かめて活用してみてください。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。