SlideShare a Scribd company logo
1 of 12
フォーム入力チェックを
JQueryでやってみた
植木祐介
2
★ 自己紹介
・仕事
秋葉原で分析寄りのエンジニア
マーケティングの商圏分析
・使っているもの
Python, Ruby, GIS, R(予定)
・好きなもの
柑橘類全般
・Rails歴
3か月
図1.お店の位置をプロットした図
図2.ちょっと加工して熱いエリアを可視化
3
★ 今回やったこと
=>入力チェック機能をJQueryで実装
※ソースコード保管場所
https://github.com/rokusyou/formcheck
開発環境:windows7,ruby2.1.9
4
★ Viewの記述
フィールド入力
ラジオボタン
チェックボックス
(複数)
チェックボックス
(単体)
*ここだけべた書き
5
★ 入力チェック(バリデーション)
・フォームなどでユーザーからの入力値をDBに保存する前に、
その値を検証する仕組み。
・基本的にはサーバ側のモデル層で行うらしい。
・今回はJqueryを使ってクライアント側でバリデーション実行
クライアント サーバー
Jqueryを使ってクライアント側で実行!!
6
★ JQueryで実行するメリット・デメリット
・メリット
Viewだけの修正で実装ができる。
(コントローラ、モデルから独立して実装できる)
・デメリット
クライアント側の設定次第で動作が変わる
( 例: クライアント側でJavascriptが無効化されていると、動かな
い。)
Jquery(クライアント側)で軽くチェックして、
モデル(サーバ側)でガッツリチェックするのが王道!!
(担当した案件が管理された環境化で実行されるアプリだったので
Jqueryだけでも問題は発生しなかった)
7
★ Jqueryの設定
1. プラグインの導入
jquery-ui.min.js
Jquery.validate.js
2. チェックロジックの作成
ファイル「val.js」を作成し、
フォルダ「asset/javascript直下」に配置
「val.js」では
①入力規則
②注意文
③注意文の表示場所
これらを指定している
8
★ val.jsの中身
1.入力規則
入力必須
要数値入力
最低一つチェック
#interest10がチェックされていたら
入力必須
9
★ val.jsの中身
2.注意文
3.注意文の表示場所
※正規表現の扱いに注意する
(Jqueryが勝手に正規表現に解釈するらしい。)
10
★ Turbolinksを止める
Rails4からデフォルトになったturbolinksではJquery.readや
window.onloadイベントが発生しない!!
=> よって止めることに。
・手順
①gemfileから 「gem ‘turbolinks’」を削除
②app/assets/javascripts/application.html.erbから
「 //= requre turbolinks 」を削除
これでうまくいくはず!!
11
★ 今回はここまで
・つぎは?
①Herokuに上げたい。
チャレンジしてみたが、
フォームがうまく動いてくれなかった。
②モデル層でフォームチェックをやってみる
12
おしまい!!

More Related Content

Viewers also liked

EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるKiyoshi Sawada
 
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Yuki Yokoyama
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるKiyoshi Sawada
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップKiyoshi Sawada
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリTakashi Uemura
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発Atsuhiko Kimura
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編Kazumich YAMAMOTO
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門Kohki Miki
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろうMitsuo Kawashima
 
jQuery Mobile is not dead!
jQuery Mobile is not dead!jQuery Mobile is not dead!
jQuery Mobile is not dead!yoshikawa_t
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるHidetaka Okamoto
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8civic Sasaki
 
Webを勉強中の方々へ
Webを勉強中の方々へWebを勉強中の方々へ
Webを勉強中の方々へAtsushi Handa
 
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜Mignon Style
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryYossy Taka
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門Atsushi Tadokoro
 
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScriptのオブジェクト:Mathオブジェクト、DateオブジェクトJavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScriptのオブジェクト:Mathオブジェクト、DateオブジェクトYossy Taka
 

Viewers also liked (20)

EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いるEWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
EWD 3トレーニングコース#14 ewd-xpressメッセージ用にAjaxを用いる
 
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
Dreamweaverとfireworksを連携し、jQuery mobileのサイトを作る方法
 
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみるEWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
EWD 3トレーニングコース#13 全てをひとつにまとめてewd-xpressで稼働させてみる
 
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップEWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
EWD 3トレーニングコース#5 ewd-xpressアプリ開発第1ステップ
 
jQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリjQueryで作るカスタム投稿の画像スライダーライブラリ
jQueryで作るカスタム投稿の画像スライダーライブラリ
 
少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発少人数から始めるできるだけ楽をするB2Bアプリ開発
少人数から始めるできるだけ楽をするB2Bアプリ開発
 
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編a-blog cms「simple2016」で学ぶ カスタマイズ初級編
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
 
Learning jQuery
Learning jQueryLearning jQuery
Learning jQuery
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門
 
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
【ハンズオン】jQuery+HTML5 APIでスライドショーを作ろう
 
jQuery Mobile入門
jQuery Mobile入門jQuery Mobile入門
jQuery Mobile入門
 
jQuery Mobile is not dead!
jQuery Mobile is not dead!jQuery Mobile is not dead!
jQuery Mobile is not dead!
 
なんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみるなんとなくjQueryでAjaxをつかってみる
なんとなくjQueryでAjaxをつかってみる
 
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
 
Webを勉強中の方々へ
Webを勉強中の方々へWebを勉強中の方々へ
Webを勉強中の方々へ
 
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
デザイナーとプログラマーの72時間戦争 〜 キタジマタカシ対抗 ver. 〜
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
JavaScript Basic 02 jQuery
JavaScript Basic 02 jQueryJavaScript Basic 02 jQuery
JavaScript Basic 02 jQuery
 
メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門メディア芸術基礎 II jQuery入門
メディア芸術基礎 II jQuery入門
 
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScriptのオブジェクト:Mathオブジェクト、DateオブジェクトJavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
 

Similar to 入力フォームチェックをJ queryでやってみた

ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜TrinityT _
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -Yukihiko SAWANOBORI
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25Nobuaki Oshiro
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門Sho A
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーImamura Masayuki
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Norito Agetsuma
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -chibochibo
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐためにFumiya Sakai
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code ReadingShinobu Okano
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章YOSHIKAWA Ryota
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
プログラマー
プログラマープログラマー
プログラマーKouhei Sutou
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.nextyoshikawa_t
 
エネチェンジでのSTIの使い方紹介
エネチェンジでのSTIの使い方紹介エネチェンジでのSTIの使い方紹介
エネチェンジでのSTIの使い方紹介Yuya Taki
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterMasanori Oobayashi
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用真治 米田
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例Yuuki Nara
 
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例Yuuki Nara
 

Similar to 入力フォームチェックをJ queryでやってみた (20)

ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
ルビコンペレストロイカ〜RubyOnRailsにおけるCI改革〜
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
10min r study_tokyor25
10min r study_tokyor2510min r study_tokyor25
10min r study_tokyor25
 
PHPフレームワーク入門
PHPフレームワーク入門PHPフレームワーク入門
PHPフレームワーク入門
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015Jbatch実践入門 #jdt2015
Jbatch実践入門 #jdt2015
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 
少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために少しずつ手厚くして不具合や仕様漏れを防ぐために
少しずつ手厚くして不具合や仕様漏れを防ぐために
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code Reading
 
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
プログラマー
プログラマープログラマー
プログラマー
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
エネチェンジでのSTIの使い方紹介
エネチェンジでのSTIの使い方紹介エネチェンジでのSTIの使い方紹介
エネチェンジでのSTIの使い方紹介
 
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniterWTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例
 
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
Unofficial redmine cooking , unofficial-redmine.org 直近カスタマイズ事例
 

入力フォームチェックをJ queryでやってみた