7. バリデーション機能(validate_XXX)
7.3. 各形式の説明
■「 text 」チェック
・お名前 : <input name="name" size="50" type="text">
<input name="validate_name" value="text" type="hidden">
値が空白の場合はエラーとなります。空白以外の文字列はすべて有効となります。
また、テキストの入力される内容を制限させる事が可能です。
【参考例】
<input name="name" size="50" type="text">
<input type="hidden" value="text!=テスト" name="validate_name">
この場合「name」の項目に「テスト」と入力された場合はエラーとなります。「テスト」以外の文 字列のみ入力可能となります。
■「 number 」チェック
・電話番号 : <input name="tel" size="25" type="text"> <input value="number"
name="validate_tel" type="hidden">
数字以外の文字列はすべてエラーとなります。
演算子を利用して入力される内容を制御する事が可能となります。
【0より大きく11より小さい範囲による設定】
<input name="zip_code1" type="text">
<input type="hidden" value="number>0" name="validate_zip_code1">
<input type="hidden" value="number<11" name="validate_zip_code1">
0や11以上の数字が入力された場合はエラーとなります。
【異なる数字入力の設定】
<input name="zip_code1" type="type">
<input name="zip_code2" type="type">
<input name="validate_zip_code1" value="number!=zip_code2" type="hidden">
<input name="validate_zip_code2" value="number!=zip_code1" type="hidden">
「zip_code1」と「zip_code2」の数字が同じ場合はエラーとなります。
【二つの数字を比較して一致した条件で入力される設定】
<input name="zip_code1" type="type">
<input name="zip_code2" type="type">
<input type="hidden" name="validate_zip_code1" value="number>zip_code2">
<input type="hidden" name="validate_zip_code2" value="number<zip_code1">
「zip_code1」の数字が「zip_code2」の数字より小さい場合はエラーとなります。
■「 time (“HH:MM:SS”) 」チェック
【現在の時間よりも未来の時間で入力される設定】
<input type="hidden" name="days" type="text">
<input type="hidden" value="time> @@@now:format=%H:%M:%S @@@"
name="validate_days">
■「 date (“yyyy-mm-dd”). 」チェック
・日時 : <input name="days" type="text"> <input type="hidden" value="date"
name="validate_days">
日付のフォーマットは( “yyyy-mm-dd” )であり、「 2000-01-01 」の形式以外はエラーとなりま す。
【日付が現在より未来日で入力される設定】
<input name="days" type="text">
<input type="hidden" value="date> @@@now:format=%Y-%m-%d@@@" name="validate_days">
■「 datetime (“yyyy-mm-dd HH:MM:SS”) 」チェック
・日時 : <input name="days" size="25" type="text"> <input type="hidden" value="
datetime " name="validate_days">
日付のフォーマットは( “yyyy-mm-dd HH:MM:SS” )であり、「 2011-01-01 10:11:22 」の形式 以外はエラーとなります。
【日付と時間を含めた過去日で入力される設定】
<input name="days" type="text">
<input type="hidden" value="datetime<@@@now:format=%Y-%m-%d %H:%M:%S@@@"
name="validate_days">
■【サンプルデータ】
1.エラーページ
エラーを表示させる箇所に「 ###invalid### 」と記載致します。
2.入力ページの作成
【HTMLソース】
<form action="/page.jsp?id=XXX" method="post">
<p>入力画面</p>
<p>■お名前:</p>
<input name="name" size="50" type="text">
<input name="validate_name" value="text" type="hidden">
<br><br>
<p>■生年月日(yyyy-mm-dd):</p>
<input name="birth" size="30" type="text">
<input name="validate_birth" value="date" type="hidden">
<br><br>
<p>■メールアドレス:</p>
<input name="mail1" size="30" type="text">
<br>
<p>■メールアドレス(確認用):</p>
<input name="mail2" size="30" type="text">
<input name="validate_mail1" value="text=mail2" type="hidden">
<input name="validate_mail2" value="text=mail1" type="hidden">
<br><br>
<p>■郵便番号:</p>
<input name="zip_code1" type="text">-<input name="zip_code2" type="text">
<input value="number" name="validate_zip_code1" type="hidden">
<input value="number" name="validate_zip_code2" type="hidden">
<br><br>
<p>■住所:</p>
<input name="city" size="45" type="text">
<input value="text" name="validate_city" type="hidden">
<br><br>
確認ページ ID を指定します。
<br><br>
<input
value="/page.jsp?id=200&name=###name###&birth=###birth###&mail1&
###mail1###&mail2=###mail2###&zip_code=###zip_code###&city=###city###
&tel=###tel###" name="redirect_invalid" type="hidden">
<input name="submit" value="確認する" type="submit">
</form>
【デザインモード】
エラーページへの宣言を指定します。
2.確認ページ
【HTMLソース】
<form method="post" action="/post.jsp">
<input name="database" value="コンテンツDB名" type="hidden">
<input name="redirect" value="/page.jsp?id=XXX" type="hidden">
<p>この内容でよろしいでしょうか?</p>
<br><br>
<p>■お名前:###name###</p>
<input name="name" value="###name###" type="hidden">
<br><br>
<p>■生年月日(yyyy-mm-dd):###birth###</p>
<input name="birth" value="###birth###" type="hidden">
<br><br>
<p>■メールアドレス:###mail1###</p>
<input name="mail1" value="text=###mail1###" type="hidden">
<br>
<br>
<p>■郵便番号:###zip_code1###-###zip_code2###</p>
<input value="###zip_code1###" name="zip_code1" type="hidden">
<input value="###zip_code2###" name="zip_code2" type="hidden">
<br><br>
<p>■住所:###city###</p>
<input value="###city###" name="city" type="hidden">
<br><br>
<p>■電話番号(半角数字のみ 例:0357393200):###tel###</p>
<input value="###tel###" name="tel" type="hidden">
<br><br>
<input name="submit" value="送信する" type="submit">
</form>