スクリプト開発で、クライアント(ブラウザー)側のみで入力チェック(バリデーション)を行う方法
イントラマートのスクリプト開発で、クライアント(ブラウザー)側のみで入力チェック(バリデーション)を行う方法です。
イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。
イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。
スクリプト開発で、クライアント(ブラウザー)側のみで入力チェック(バリデーション)を行う
まず、実行するソースです。
プレゼンテーション側ソース
<<sample.html>>
<imart type="head">
<script src="ui/libs/jquery-validation-1.9.0/jquery.validate.js"></script>
<script type="text/javascript">
//バリデーションルールの作成
var rules = {
user_cd: {
required: true,
minlength: 5
}
,age: {
required: true,
numeric: 3,
max:150,
}
} ;
//エラーメッセージの作成
var messages = {
user_cd: {
required: '必須です',
minlength: '少なくとも5文字必要です'
}
,age: {
required: '必須です',
numeric: '入力は数字のみです。',
max: '年齢は150歳以下です。',
}
} ;
//バリデーション実行
jQuery( document ).ready( function() {
jQuery( '#validate-button' ).click(function() {
imuiValidate( '#sampleform', rules, messages ) ; //指定されたルールに従って、バリデーションを行います
}) ;
}) ;
</script>
</imart>
<div class="imui-form-container">
<form id="sampleform" name="sampleform" >
<imart type="string" value="ユーザーコード:" /><input type="text" name="user_cd" />
<br>
<imart type="string" value="年齢:" /><input type="text" name="age" />
<br>
<input type="button" id="validate-button" value = "実行!!" />
</form>
</div>
ファンクションコンテナー側ソース(中身が空のinit関数のみ実装)
<<sample.js>>
function init( request )
{
}
解説
1つ1つ見れば簡単ですが、きちんと名前を合わさないと上手く動作しません。
- <body>部には入力チェックをするフィールドを含む<form>を作ります。
- 各入力フィールドの名前と「rules」と「messages」で利用する名称を合わせて設定します。
- 「rules」にはチェックするルールとその値いを記述します。
- 「messages」にはチェックでエラーが発生した時に表示するエラーメッセージを記述します。
- imuiValidate()関数でチェックするフォーム名(sampleform)、作成したチェックルール(rules)、エラーメッセージ(messages)を引数にチェックさせます。
実行した結果は以下のように入力エラーメッセージが表示されます。

利用できるバリデーションルール
| ルール名 | 内容 |
|---|---|
| required | 値が入力されているか検証します。 |
| alpha | 値がアルファベットであるかを検証します |
| alphanumeric | 値がアルファベットまたは数字であるかを検証します。 |
| numeric | 値が数字であるかを検証します。 |
| digits | 数値の整数部、小数部の桁数を検証します。ex. digits:[3, 2] |
| lowercase | 値がアルファベット小文字であるかを検証します。 |
| uppercase | 値がアルファベット大文字であるかを検証します。 |
| integer | 値が整数型の数字であるかを検証します。 |
| decimal | 値が実数型の数字であるかを検証します。 |
| minlength | 値の最小文字数を検証します。 |
| maxlength | 値の最大文字数を検証します。 |
| min | 数字の最小値を検証します。 |
| max | 数字の最大値を検証します。 |
| range | 数字の範囲を検証します。ex. range:[0, 12] |
| 値がe-mailアドレスのフォーマットであるかを検証します。 | |
| url | 値がURLのフォーマットであるかを検証します。 |
| equals | 値が設定値と同じ文字列であるかを検証します。 |
| contains | 値に設定値の文字列が含まれているかを検証します。 |
| isIn | 値が設定値の文字列に一致するものが有るかを検証します。 |
| regex | 値が正規表現に一致するかを検証します。ex. regex: /^[a-zA-Z0-9]+$/ |
| file | 値がファイルアップロードであるかを検証します。 |
| mimeType | ファイルの内容からMIME Type判別し、設定値に記述された条件に合致しているかを検証します。 |
| id | 値がID、コード系であるかを検証します。 |
| userCd | 値がユーザコードであるかを検証します。 |
| date | 値がアカウントコンテキストの日時表示形式に含まれている「日付(入力)」と同じフォーマットであるかを検証します。 |
| time | 値がアカウントコンテキストの日時表示形式に含まれている「時刻(入力)」と同じフォーマットであるかを検証します。 |
| datetime | 値がアカウントコンテキストの日時表示形式に含まれている「日付(入力)」+半角スペース+「時刻(入力)」と同じフォーマットであるかを検証します。 |
以上、スクリプト開発で、クライアント(ブラウザー)側のみで入力チェック(バリデーション)を行う方法でした。







