バリデータ J2EE II 第11回 / 2006年1月19日.

Slides:



Advertisements
Similar presentations
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Advertisements

1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
プログラミング 平成22年10月20日 森田 彦.
プログラミング 平成24年10月16日 森田 彦.
第11回JavaScriptゼミ セクション8-2 発表者 直江 宗紀.
JavaScript プログラミング入門 2006/11/10 神津.
コンパイラ 2011年10月17日
プログラミング言語としてのR 情報知能学科 白井 英俊.
Androidアプリを公開する方法.
【2.12】文字装飾機能内部設計書
JSFによるWebアプリケーション開発 第9回
エンタープライズアプリケーション II 第10回 / 2006年7月23日
JSFによるWebアプリケーション開発 第11回
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
VBA H106077 寺沢友宏.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
SQL J2EE I 第3回 /
String - 文字列 2009年10月9日 7ADD2116 佐藤洋輔.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
見た目を定義する技術 CSS(スタイルシート).
条件式 (Conditional Expressions)
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
JavaBeans とJSP データベース論 第5回.
JSFによるWebアプリケーション開発 第6回
エンタープライズアプリケーション II 第7回 / 2006年7月9日
コンパイラ 2012年10月15日
JSPの作成 J2EE II 第3回 2005年4月10日.
XMLゼミ 5.1 XML文書と表示 5.2 CSS 5.3 XMLとXSL 高橋 辰裕.
プログラミング 平成24年10月30日 森田 彦.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
地理情報システム論演習 地理情報システム論演習
管理画面操作マニュアル <サイト管理(1)> 基本設定 第9版 改訂 株式会社アクア 1.
プログラミング 平成25年11月5日 森田 彦.
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
暗黙的に型付けされる構造体の Java言語への導入
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
ソフトウェア制作論 平成30年10月3日.
Javaによる Webアプリケーション入門 第2回
情報処理概論Ⅰ 2007 第10回 2007/6/27 情報処理概論Ⅰ 第10回.
独習XML ~第3章 文書と構造~ 3.3 スキーマ 3.3 XML Schema
エンタープライズアプリケーション II 第9回 / 2006年7月23日
第1章 実世界のモデル化と形式化 3.地物インスタンスの表現
Javaによる Webアプリケーション入門 第11回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
XML Schema (1) ソフトウェア特論 第3回 /
JSFによるWebアプリケーション開発 第3回
3-1.文書と構造 3-2.整形式文書と検証済み文書 兒玉 光太郎
プログラミングⅠ 平成30年10月22日 森田 彦.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
Action Method の実装 J2EE II 第9回 2004年12月2日.
Jakarta Struts (1) ソフトウェア特論 第10回.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
JSFによるWebアプリケーション開発 第5回
プログラミング 4 文字列.
PROGRAMMING IN HASKELL
:: の扱い 長谷川啓.
プログラミング 平成28年10月25日 森田 彦.
JSFによるWebアプリケーション開発 第10回
SQL J2EE I (データベース論) 第3回 /
JSONの概要, Cloud FireStore で JSON を扱う
JSFによるWebアプリケーション開発 第7回
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

バリデータ J2EE II 第11回 / 2006年1月19日

ここでの内容 バリデータ サンプルプログラム バリデータの解説

バリデータ

バリデータとは何か 入力されたデータが、そのアプリケーションに適合するものかどうかチェックする機能。例えば・・・ ここは必須項目なので、必ず入力しなければならない。 ここには、1~10までの数が入る 適合しなかった場合は、エラーメッセージを表示できる。

JSF標準のバリデータ 必須項目のチェック 数の範囲のチェック 文字列の長さのチェック

Tomahawkのバリデータ e-mailアドレスのチェック クレジットカードの番号チェック 正規表現によるチェック 2つのコンポーネントの入力値が等しいかチェック

サンプルプログラム

データの入力

エラー

成功

h:panelGrid タグ (1) UIコンポーネントを表形式でレイアウトするためのコンポーネント <h:panelGrid columns="3"> <f:facet name="header"> <h:outputText ... /> </f:facet> <h:inputText ... /> <h:message ... /> </h:panelGrid>

h:panelGrid タグ (2) f:facet タグは、表形式の直前に「ヘッダ」として表示される <h:panelGrid columns="3"> <f:facet name="header"> <h:outputText ... /> </f:facet> <h:inputText ... /> <h:message ... /> </h:panelGrid>

h:panelGrid タグ (3) <h:panelGrid columns="3"> <f:facet name="header"> <h:outputText ... /> </f:facet> <h:inputText ... /> <h:message ... /> </h:panelGrid> Columns属性で指定された個数のUIコンポーネントを、1行で表示する その後に続く3つのUIコンポーネントが、次の行に

バリデータの解説

必須項目のチェック お名前を入力してください(必須): <h:inputText id="name" required="true" value="#{ParameterBean.name}" /> データが入力されていないとエラーになる。

h:message 要素 (1) <h:inputText id="name" required="true" value="#{ParameterBean.name}" /> <h:message for="name" style="error" /> エラーメッセージを表示するUIコンポーネント for 属性で指定した UIコンポーネントに関するエラーメッセージを表示する。 コンバータに適合しなかったらエラーメッセージを表示する。

h:message 要素 (2) <h:message for="name" style="error" /> エラーメッセージのスタイルに、style.css の ".error" というクラスセレクタの設定が適用される style.css より .error { font-style: italic; color: red; }

文字列の長さのチェック (1) パスワードを設定してください(5文字以上) <h:inputSecret id="password" value="#{ParameterBean.password}"> <f:validateLength minimum="5" /> </h:inputSecret> <h:message for="password" styleClass="error" />

h:inputSecret パスワードを設定してください(5文字以上) <h:inputSecret id="password" value="#{ParameterBean.password}"> …… </h:inputSecret> パスワードなどを入力するときに、入力された文字をそのまま表示せずに、"・・・・・" のように伏せ字にして表示してくれるコンポーネント

文字列の長さのチェック (2) <f:validateLength minimum="5" /> 文字列の長さをチェックするバリデータ 最小でも5文字は必要になる。 ほかに、maximum 属性もある。最大で何文字までかチェックする

文字列の長さのチェック (3) f:validateLength は、h:inputSecret の子要素になっている。 <h:inputSecret id="password" value="#{ParameterBean.password}"> <f:validateLength minimum="5" /> </h:inputSecret> f:validateLength は、h:inputSecret の子要素になっている。 つまり、この f:validateLength は、h:inputSecret に属している。

数の範囲のチェック (1) 品物の数を入力してください(1~10): <h:inputText id="quantity" value="#{ParameterBean.quantity}"> <f:validateLongRange minimum="1" maximum="10" /> </h:inputText> <h:message for="quantity" />

数の範囲のチェック (2) <f:validateLongRange minimum="1" maximum="10"/> 整数の数の範囲をチェックする。 1 ~ 10 までの範囲となる。それ以外だとエラーになる。

Value Binding と Managed Bean <h:inputText id="quantity" value="#{ParameterBean.quantity}"> …… </h:inputText> // quantity プロパティは Integer 型 public Integer getQuantity() { return quantity; }

コンバータとは何か h:inputText 要素のようなテキスト入力フィールドには、基本的には String 型のデータが入る。 コンバータとは、Value Binding を使うタグと Managed Beanのプロパティ間でデータ変換を行うもの。 h:inputText に入力されたデータを、Integer や Date 型に変換 Integer や Date 型のオブジェクトの値を、h:outputText などで出力

E-mailアドレスのチェック e-mailアドレスを入力してください: <h:inputText id="email"   value="#{ParameterBean.email}"> <t:validateEmail /> </h:inputText> Emailアドレスの形式になっているかどうかチェックする。

2つのコンポーネントの入力値が等しいかチェック <h:inputText id="email" required="true" value="#{ParameterBean.email}" /> <h:inputText id="email2" required="true" value="#{ParameterBean.anotherEname}”> <t:validateEqual for="email" /> </h:inputText> name1で入力された値とname2で入力された値が等しいかチェックする

クレジットカードの番号チェック クレジットカードの番号をチェックする VISA, Master Card など (JCBはダメ) クレジットカードの番号を入力してください: <h:inputText id="creditCardNumber" value="#{ParameterBean.creditCardNumber}"> <t:validateCreditCard /> </h:inputText> クレジットカードの番号をチェックする VISA, Master Card など (JCBはダメ)

正規表現によるチェック 入力データが pattern属性で指定した正規表現にマッチするかどうかチェックする。 郵便番号を入力してください(例: 097-0013): <h:inputText id="zipNumber" value="#{ParameterBean.zipNumber}"> <t:validateRegExpr pattern='¥d{3}-¥d{4}' /> </h:inputText> 入力データが pattern属性で指定した正規表現にマッチするかどうかチェックする。

¥d{3}-¥d{4} という正規表現 まず、(0から9までの)数字が3つ並び その後で "-" (ハイフン) がきて (0から9までの)数字が4つ並ぶ

カスタム・バリデータ バリデータは、自分で作成することもできる。