...

クライアントサイド でのデータ認証の 使い方

by user

on
Category: Documents
13

views

Report

Comments

Transcript

クライアントサイド でのデータ認証の 使い方
クライアントサイド
でのデータ認証の
使い方
Release 11.5/Composer
© 2002-2006 Unify Corporation All rights reserved. Sacramento California, USA
No part of this tutorial may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into
any language or computer language, in any form or by any means, electronic, mechanical, magnetic, optical,
chemical, manual or otherwise without the prior written consent of Unify Corporation.
Unify Corporation makes no representations or warranties with respect to the contents of this document and
specifically disclaims any implied warranties of merchantability or fitness for any particular purpose. Further,
Unify Corporation reserves the right to revise this document and to make changes from time to time in its content
without being obligated to notify any person of such revisions or changes.
The Software described in this document is furnished under a Software License Agreement. The Software may
be used or copied only in accordance with the terms of the license agreement. It is against the law to copy the
Software on tape, disk, or any other medium for any purpose other than that described in the license agreement.
The Unify Corporation Documentation Group values and appreciates any comments you may have concerning
our documents. Please address comments to:
[email protected]
(800) 468-6276 or (800) 468-6343; (916) 928-6400
FAX (916) 928-6401
UNIFY and DataServer are registered trademarks of Unify Corporation. Unify NXJ is a trademark of Unify Corporation. Java
and J2EE are registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. JReport is a trademark of Jinfonet
Corporation. IBM, Lotus, Lotus Notes, Cloudscape, and WebSphere are trademarks of International Business Machines
Corporation in the United States, other countries, or both. CASAHL Technology and ecKnowledge are registered trademarks of
CASAHL Technology, Inc. in the U.S. and other countries.All other products or services mentioned herein may be registered
trademarks, trademarks, or service marks of their respective manufacturers, companies, or organizations.
Name: Working with Clienr-Side Validation
Release: Unify NXJ 11.5/Composer
Last Revision: January 11, 2006 2:25 pm
ク ラ イ ア ン ト サイ ド での
デー タ 認証の使い方
こ の ド キ ュ メ ン ト では、 ク ラ イ ア ン ト サ イ ド でのデー タ 認証について説明 し ます。 ク ラ
イ ア ン ト サ イ ド でのデー タ 認証は、 1) 必須デー タ コ ン ト ロ ールに対 し てデー タ が入力 さ
れたかど う か、 2) フ ィ ール ド コ ン ト ロ ールに対 し て正 し いデー タ が入力 さ れたか、 を
チ ェ ッ ク す る ために使用 し ます。 こ の処理は ク ラ イ ア ン ト 側で、 デー タ がア プ リ ケー
シ ョ ンサーバに送 ら れる前に実行 さ れます。
処理の概要
まず、 どの コ マ ン ド (Add Update、 Next Form な ど) がデー タ 認証を呼び出すかを指
定 し ます。 ユーザが こ れ ら の コ マ ン ド を実行 し た場合、 NXJ は、 ま だサーバに送 ら れて
いない必須 フ ィ ール ド コ ン ト ロ ールを チ ェ ッ ク し 、 その フ ィ ール ド コ ン ト ロ ールに割 り
当て ら れた JavaScript で書かれた認証ルールを実行 し ます。 必須 フ ィ ール ド コ ン ト
ロ ールにデー タ が入力 さ れていない場合、 NXJ はエ ラ ー メ ッ セージ を表示 し 、 フ ィ ール
コ ン ト ロ ールの境界線を強調表示 し ます。 ま た、 JavaScript で書かれた認証ルールに合
致 し ない場合には、 NXJ は認証に失敗 し た最初 フ ィ ール ド コ ン ト ロ ールに フ ォ ー カ ス を
移 し 、 境界線を強調表示 し ます。 その フ ィ ール ド コ ン ト ロ ールが タ ブに存在する場合、
NXJ はその フ ィ ール ド 含む タ ブ を表示 し ます。
プ ロパテ ィ
以下の表に各プ ロパテ ィ お よ びそのプ ロパテ ィ を使用す る ク ラ スの一覧を示 し ます。
© Copyright 2005 Unify Corporation
1
プ ロパテ ィ
使用方法
関係す る ク ラ ス
Component >
Includes
NXJ がデー タ 認証のために使用する
JavaScript ソ ース フ ァ イルを指定 し ます。
フ ァ イルを指定する と 、 各 フ ィ ール ド コ ン
ト ロールの Validation Rules プ ロパテ ィ
に、 実行 さ せる JavaScript 関数を指定す
る こ と がで き る よ う にな り ます。
Form
BPM Activity Form
Checkbox
Date Picker
Dropdown List
JavaScript Field
Listbox
Radio Group
Text Area
Text Field
Box
Data View
Interactive >
Required for
Command
フ ォ ームに割 り 当て ら れた認証 コ マ ン ド を
実行する際、 こ の フ ィ ール ド コ ン ト ロール
にデー タ が入力 さ れていなければな ら ない
こ と を示 し ます。 例えば、 Address フ ォ ー
ムで Street フ ィ ール ド を必須 と し 、 Add
Update コ マ ン ド が認証 コ マ ン ド と し て指
定 さ れてい る場合、 ユーザが Street デー タ
を指定せずに、 Address を追加、 更新 し よ
う と する と NXJ はエ ラ ー メ ッ セージ を表
示 し ます。
Date Picker
Dropdown List
JavaScript Field
Listbox
Text Area
Text Field
Interactive >
Validation
Commands
デー タ 認証を実行する コ マ ン ド (Add
Update, Exit, Previous Form 等) を指定 し
ます。
Form
BPM Activity Form
Interactive >
Validation Rules
NXJ が フ ィ ール ド コ ン ト ロールのデー タ 認
証に使用する JavaScript 関数を指定 し ま
す。 こ の関数は、 フ ィ ール ド コ ン ト ロール
の Include プ ロパテ ィ で指定 さ れた
JavaScript フ ァ イル中で定義 さ れていなけ
ればな り ません。
Checkbox
Date Picker
Dropdown List
JavaScript Field
Listbox
Radio Group
Text Area
Text Field
Data View
Visual > Error
Border Color
デー タ 認証に失敗 し た フ ィ ール ド コ ン ト
ロールの境界に使用する色を指定 し ます。
デ フ ォル ト は赤です。
Form
BPM Activity Form
フ ィ ール ド コ ン ト ロールを必須項目にする
ユーザが特定の コ マ ン ド を実行する際に必須 と な る フ ィ ール ド コ ン ト ロ ールを指定する
こ と がで き ます。 こ の種類の認証を使用す る には、 まず、 どの コ マ ン ド (Add Update,
Next Form 等) を使用す るかを、 認証が必要な フ ィ ール ド コ ン ト ロ ールを持つ フ ォ ーム
で指定 し ます。 Interactive グループの Validate Commands プ ロパテ ィ に コ マ ン ド を指
定で き ます。
2
© Copyright 2005 Unify Corporation
デー タ 認証を実行する コ マ ン ド を指定 し た後、 必須 と な る フ ィ ール ド コ ン ト ロ ールを指
定 し ます。 フ ィ ール ド コ ン ト ロ ールを選択 し 、 Interactive グループの Required for
Command チ ェ ッ ク ボ ッ ク ス を チ ェ ッ ク し て下 さ い。
フ ィ ール ド コ ン ト ロールに認証ルールを設定
以下の手順で フ ィ ール ド コ ン ト ロ ールに認証ルールを割 り 当て る こ と が出来ます。
•
認証時に実行 さ れる コ マ ン ド を指定
•
JavaScript ソ ース フ ァ イルを作成
•
JavaScript ソ ース フ ァ イルの指定
•
実行する JavaScript 関数を指定
タ ス ク 1: 認証時に実行 さ れる コ マ ン ド を指定
どの コ マ ン ド (Add Update, Next Form 等) を使用するかを、 認証が必要な フ ィ ール ド
コ ン ト ロ ールを持つ フ ォ ームで指定 し ます。 Interactive グループの Validate Commands
プ ロパテ ィ に コ マ ン ド を指定で き ます。
タ ス ク 2: JavaScript ソ ース フ ァ イルを作成
プ ロ ジ ェ ク ト の Static Content フ ォ ルダに JavaScript フ ァ イルを作成 し ます。 こ の フ ァ
イルには、 NXJ がデー タ 認証に使用す る関数を定義 し てお き ます。
各関数には、 フ ィ ール ド コ ン ト ロ ールを引数 と し て指定す る こ と がで き ます。 関数は、
認証に失敗 し た場合には false を返 し 、 成功 し た場合には true を返す必要があ り ます。
以下に例を示 し ます。
function myValidator(myControl)
{
if (myControl.value == "0")
{
alert("Zero is not allowed.");
return false;
}
return true;
}
© Copyright 2005 Unify Corporation
3
タ ス ク 3: JavaScript ソ ース フ ァ イルの指定
デー タ 認証関数を定義 し た後、 認証が必要な フ ィ ール ド コ ン ト ロ ールに JavaScript
ソ ース フ ァ イルを指定 し ます。 フ ィ ール ド コ ン ト ール、 ま たはその コ ン ト ロ ールを含む
フ ォ ームを選択 し 、 Component グループの Includes プ ロパテ ィ に、 JavaScirpt フ ァ イ
ル名を指定 し ます。
タ ス ク 4: 実行する JavaScript 関数を指定
JavaScript ソ ース フ ァ イルを指定 し た後、 Interactive グループの Validation Rules プ ロ
パテ ィ に、 関数名を指定 し ます。 複数の関数を指定する場合は、 各関数を セ ミ コ ロ ン
(;) で区切 っ て指定 し ます。 関数名のみを指定 し 、 引数ま たはパ ラ メ ー タ は指定 し ない
よ う に し て下 さ い。 以下に例を示 し ます。
myValidator;ZIPValidator;phoneValidator
‘validation_error’ フ ィ ール ド の使用
NXJ では、 認証エ ラ ー メ ッ セージ を ポ ッ プ ア ッ プの代わ り に フ ィ ール ド に表示 さ せる こ
と がで き ます。
必須 コ ン ト ロ ールの認証エ ラ ー を表示する には、 エ ラ ー メ ッ セージ を表示す る テキス ト
フ ィ ール ド ま たはテキス ト エ リ ア を validatiom_error と い う 名称で フ ォ ームに追加
し ます。
必須で ない コ ン ト ロ ールの認証エ ラ ー を表示する には、 エ ラ ー メ ッ セージ を表示す る テ
キス ト フ ィ ール ド ま たはテキス ト エ リ ア を フ ォ ームに追加 し 、 JavaScript ソ ース フ ァ イ
ルの作成セ ク シ ョ ン で述べ ら れてい る よ う に フ ァ ン ク シ ョ ン を追加 し ます。 こ の フ ァ ン
ク シ ョ ン では、 テキス ト フ ィ ール ド ま たはテキス ト エ リ アの value 属性に、 表示する エ
ラ ー メ ッ セージ を設定 し ます。
function myValidator(myControl)
{
if (myControl.value == "0")
{
vfield =
document.forms["NXJForm"].elements["validation_error."].value =
"Zero is not allowed.";
return false;
}
return true;
}
4
© Copyright 2005 Unify Corporation
Fly UP