SlideShare a Scribd company logo
sample 
Let’s make forms rich by using AngularJS(v1.3.1), 
for beginners 
5 November 2014 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
Profile 
ホリグチ セイト 
Front-End-Engineer 
趣味 
漫画(いろいろ)、海外ドラマ、lang-8 
最近の活動 
セブ島行ってきました。 
Webサービス開発し始めました。 
AngularJS始めました。 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
3 
Prologue 
やること: 
AngularJSでフォームページをちょいリッチにしたい。 
(主にバリデート機能)できるだけ簡単にしたい。 
使うもの: 
AngularJS 1.3.1 
angular-messages.js 
+ bootstrapとか 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
4 
ソース 
Ready 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
5 
Ready 
1. 公式ページからzipで1.3.xをダウンロード 
2. html内にAngularJS用の記述 
<html lang=“ja" ng-app=“myApp”> 
<script src="lib/angular/angular.js"></script> 
<script src="lib/angular/angular-messages.js"></script> 
<script src="js/angular/directive.js"></script> 
3.ディレクティブを記述 
angular.module('myApp', ['ngMessages']); (directive.js) 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
6 
Creating 
バリデート機能を入れてみる 
ERROR! 
Name 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
7 
Creating 
バリデート機能を入れてみる 
今回使ったディレクティブ 
ng-messages: ng-messageを囲っておくもの 
ng-message :エラーメッセージを出すかどうか判定  
ng-if    : 条件を設定し、要素を生成&削除する 
ng-disabled : disabled属性を設定できる 
ng-model : 相互のデータバインディングを行うように伝える 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
8 
Creating 
バリデート機能を入れてみる 
今回使ったバリデーション変数 
$error : エラーかどうかを判定する際に使用。 
$dirty : 初めにエラー表記を隠すために使用。 
$invalid : 入力に抜けがないか全体をチェックするために使用。 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
9 
Creating 
バリデート機能を入れてみる 
今回使ったTag属性 
novalidate: ブラウザ側でのバリデーションを止める。formタグに設定。 
type   : text,email,urlなど。inputタグに設定。 
name : バリデート対象を指定するのに使う。inputタグなどに設定。 
required : 必須属性。必須項目の判定に使う。inputタグなどに設定。 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
<form 
novalidate 
name=”sample” 
class=”form-­‐horizontal”> 
…… 
<input 
type=”text” 
name=”name” 
… 
ng-­‐model=”name” 
ng-­‐maxlength=”30” 
required/> 
…… 
<div 
class=“error_box” 
ng-­‐if=”sample.name.$dirty” 
ng-­‐messages=“sample.name.$error”> 
10 
Creating 
例)デモのソースから一部抜粋 
<div 
class="popover 
top 
error" 
role="tooltip" 
ng-­‐message=“required">…</div> 
<div 
class="popover 
top 
error" 
role="tooltip" 
ng-­‐message=“maxlength">… 
</div> 
</div> 
…… 
</form> 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
11 
Conclusion 
一部のバリデーション機能だけなら意外とシンプル! 
(JSはほとんど書かなくてよい) 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/
sample 
ご清聴ありがとうございました 
ソース 
: 
https://github.com/seito2014/angularjs-­‐study2-­‐seito 
デモ 
 : 
http://seito2014.github.io/angularjs-­‐study2-­‐seito/

More Related Content

PDF
noteをAngularJSで構築した話
Kon Yuichi
 
PDF
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
Horiguchi Seito
 
PDF
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
Mitsuru Ogawa
 
PDF
今後のWeb開発の未来を考えてangularJSにしました
Mitsuru Ogawa
 
PDF
開発ライフサイクルから見たAngularJS
Mizuho Sakamaki
 
PDF
イベント駆動AngularJS / 今から書くAngular 2.0
Okuno Kentaro
 
PDF
Directiveで実現できたこと
Kon Yuichi
 
PDF
One-time Binding & $digest
Hayashi Yuichi
 
noteをAngularJSで構築した話
Kon Yuichi
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
Horiguchi Seito
 
今後のWeb開発の未来を考えてangular jsにしました(拡大版)
Mitsuru Ogawa
 
今後のWeb開発の未来を考えてangularJSにしました
Mitsuru Ogawa
 
開発ライフサイクルから見たAngularJS
Mizuho Sakamaki
 
イベント駆動AngularJS / 今から書くAngular 2.0
Okuno Kentaro
 
Directiveで実現できたこと
Kon Yuichi
 
One-time Binding & $digest
Hayashi Yuichi
 

What's hot (20)

PDF
STORES.jp x AngularJS
Keisuke Makino
 
PPTX
React Nativeでお絵描きしてみた
kazuki matsumura
 
PPTX
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
 
PDF
Angular jsの継続的なバージョンアップ
Kazuyoshi Tsuchiya
 
PDF
AngularJSで業務システムUI部品化
Toshio Ehara
 
PDF
Front-end package managers
Hayashi Yuichi
 
PDF
俺とAngular JS 2
Masayuki KaToH
 
PDF
CSS Living StyleGuide
Hayashi Yuichi
 
PDF
Angular2
Kenichi Kanai
 
PDF
これからフロントエンジニアを目指すあなたへ
Mitsuru Ogawa
 
PDF
LIGでのDocker活用
Hayashi Yuichi
 
PPTX
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
Hiroyuki Kusu
 
PDF
angular X designer - デザイナからみたAngularJS #ten1club
silvers ofsilvers
 
PPTX
ReactでCMSを作ったときにハマったこと
kazuki matsumura
 
PPTX
Angular js はまりどころ
Ayumi Goto
 
PPTX
Rnyoutube
yugo matsumoto
 
PDF
Visual studio 2019 updates pickup!
一希 大田
 
PDF
AngularJS で ハイスピードSI
Koichiro Nishijima
 
PDF
Angular 4がやってくる!? 新機能ダイジェスト
Masahiko Asai
 
PDF
AngularJSとFluxとRiotJSと
Ryo Iinuma
 
STORES.jp x AngularJS
Keisuke Makino
 
React Nativeでお絵描きしてみた
kazuki matsumura
 
普段Reactを触ってる僕が Angularを触ってみた感想を共有する
kazuki matsumura
 
Angular jsの継続的なバージョンアップ
Kazuyoshi Tsuchiya
 
AngularJSで業務システムUI部品化
Toshio Ehara
 
Front-end package managers
Hayashi Yuichi
 
俺とAngular JS 2
Masayuki KaToH
 
CSS Living StyleGuide
Hayashi Yuichi
 
Angular2
Kenichi Kanai
 
これからフロントエンジニアを目指すあなたへ
Mitsuru Ogawa
 
LIGでのDocker活用
Hayashi Yuichi
 
【eLV勉強会】AngularJSでのモバイルフロントエンド開発
Hiroyuki Kusu
 
angular X designer - デザイナからみたAngularJS #ten1club
silvers ofsilvers
 
ReactでCMSを作ったときにハマったこと
kazuki matsumura
 
Angular js はまりどころ
Ayumi Goto
 
Rnyoutube
yugo matsumoto
 
Visual studio 2019 updates pickup!
一希 大田
 
AngularJS で ハイスピードSI
Koichiro Nishijima
 
Angular 4がやってくる!? 新機能ダイジェスト
Masahiko Asai
 
AngularJSとFluxとRiotJSと
Ryo Iinuma
 
Ad

Viewers also liked (10)

PDF
Sassをはじめからていねいに<概要−基礎編>
Horiguchi Seito
 
PDF
元コンビニ店長の人生を賭けたエンジニア留学
Horiguchi Seito
 
PDF
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
Horiguchi Seito
 
PDF
レスポンシブWebデザインの基礎と,コーディング実習:先生小川 裕之
schoowebcampus
 
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Horiguchi Seito
 
PDF
Css Architecture for the future 未来を見据えるCSS設計
Horiguchi Seito
 
PDF
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
Masayuki Abe
 
PDF
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
George Harada
 
PDF
Lets start-react
Horiguchi Seito
 
PDF
UX白書には本当は何が書かれているか
Masaya Ando
 
Sassをはじめからていねいに<概要−基礎編>
Horiguchi Seito
 
元コンビニ店長の人生を賭けたエンジニア留学
Horiguchi Seito
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
Horiguchi Seito
 
レスポンシブWebデザインの基礎と,コーディング実習:先生小川 裕之
schoowebcampus
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Horiguchi Seito
 
Css Architecture for the future 未来を見据えるCSS設計
Horiguchi Seito
 
CSSフレームワークとCMS+RWDテンプレでレスポンシブWebデザインサイトを構築しよう
Masayuki Abe
 
HTML5など社内勉強会 Vol.1 - HTML, CSS, HTML5
George Harada
 
Lets start-react
Horiguchi Seito
 
UX白書には本当は何が書かれているか
Masaya Ando
 
Ad

Similar to 超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう (18)

PPTX
Let’s angular js!!
Syoko Matsumura
 
PDF
AngularJS 概説
Kenichi Kanai
 
PDF
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
 
ODP
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
CODE BLUE
 
PPTX
AngularJSを触ってみた
tomowata
 
PPTX
Angular JSを始めよう!
Satoshi Kishi
 
PPTX
AngularJS入門
Kenji Shirane
 
PDF
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
PDF
あの時AngularJSと出会った僕らは
Muyuu Fujita
 
PPTX
20161125 米田 angular_jsを触ってみた
Tsuyoshi Saito
 
PDF
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
 
PPTX
AngularJSを浅めに紹介します
nkazuki
 
PDF
HTML5 ビギナーのための AngularJS
Kenichi Kanai
 
PPTX
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
健一 茂木
 
PDF
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
77web
 
PDF
Angular js meets cakephp at cloud on the beach 2014 前夜祭
司 知花
 
PDF
3分でわかるangular js
Shin Adachi
 
PPTX
とりあえずAngular jsを導入してみませんか
Kenji Ono
 
Let’s angular js!!
Syoko Matsumura
 
AngularJS 概説
Kenichi Kanai
 
受託開発でのAngularJS - 第1回AngularJS 勉強会 at LIG
Hayashi Yuichi
 
AngularJSとの危険な関係 by Mario Heiderich - CODE BLUE 2015
CODE BLUE
 
AngularJSを触ってみた
tomowata
 
Angular JSを始めよう!
Satoshi Kishi
 
AngularJS入門
Kenji Shirane
 
20140823 LL diver Angular.js で構築した note に関して
Shoei Takamaru
 
あの時AngularJSと出会った僕らは
Muyuu Fujita
 
20161125 米田 angular_jsを触ってみた
Tsuyoshi Saito
 
そろそろ押さえておきたい AngularJSのセキュリティ
Muneaki Nishimura
 
AngularJSを浅めに紹介します
nkazuki
 
HTML5 ビギナーのための AngularJS
Kenichi Kanai
 
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
健一 茂木
 
第9回Symfony勉強会LT Symfony2 meets AngularJS #symfony_ja
77web
 
Angular js meets cakephp at cloud on the beach 2014 前夜祭
司 知花
 
3分でわかるangular js
Shin Adachi
 
とりあえずAngular jsを導入してみませんか
Kenji Ono
 

Recently uploaded (11)

PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 

超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう

  • 1. sample Let’s make forms rich by using AngularJS(v1.3.1), for beginners 5 November 2014 ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 2. Profile ホリグチ セイト Front-End-Engineer 趣味 漫画(いろいろ)、海外ドラマ、lang-8 最近の活動 セブ島行ってきました。 Webサービス開発し始めました。 AngularJS始めました。 ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 3. 3 Prologue やること: AngularJSでフォームページをちょいリッチにしたい。 (主にバリデート機能)できるだけ簡単にしたい。 使うもの: AngularJS 1.3.1 angular-messages.js + bootstrapとか ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 4. 4 ソース Ready : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 5. 5 Ready 1. 公式ページからzipで1.3.xをダウンロード 2. html内にAngularJS用の記述 <html lang=“ja" ng-app=“myApp”> <script src="lib/angular/angular.js"></script> <script src="lib/angular/angular-messages.js"></script> <script src="js/angular/directive.js"></script> 3.ディレクティブを記述 angular.module('myApp', ['ngMessages']); (directive.js) ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 6. 6 Creating バリデート機能を入れてみる ERROR! Name ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 7. 7 Creating バリデート機能を入れてみる 今回使ったディレクティブ ng-messages: ng-messageを囲っておくもの ng-message :エラーメッセージを出すかどうか判定  ng-if    : 条件を設定し、要素を生成&削除する ng-disabled : disabled属性を設定できる ng-model : 相互のデータバインディングを行うように伝える ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 8. 8 Creating バリデート機能を入れてみる 今回使ったバリデーション変数 $error : エラーかどうかを判定する際に使用。 $dirty : 初めにエラー表記を隠すために使用。 $invalid : 入力に抜けがないか全体をチェックするために使用。 ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 9. 9 Creating バリデート機能を入れてみる 今回使ったTag属性 novalidate: ブラウザ側でのバリデーションを止める。formタグに設定。 type   : text,email,urlなど。inputタグに設定。 name : バリデート対象を指定するのに使う。inputタグなどに設定。 required : 必須属性。必須項目の判定に使う。inputタグなどに設定。 ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 10. <form novalidate name=”sample” class=”form-­‐horizontal”> …… <input type=”text” name=”name” … ng-­‐model=”name” ng-­‐maxlength=”30” required/> …… <div class=“error_box” ng-­‐if=”sample.name.$dirty” ng-­‐messages=“sample.name.$error”> 10 Creating 例)デモのソースから一部抜粋 <div class="popover top error" role="tooltip" ng-­‐message=“required">…</div> <div class="popover top error" role="tooltip" ng-­‐message=“maxlength">… </div> </div> …… </form> ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 11. 11 Conclusion 一部のバリデーション機能だけなら意外とシンプル! (JSはほとんど書かなくてよい) ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/
  • 12. sample ご清聴ありがとうございました ソース : https://github.com/seito2014/angularjs-­‐study2-­‐seito デモ  : http://seito2014.github.io/angularjs-­‐study2-­‐seito/