基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > UI の情報の表示 > UI の検証 > 手順 - サブミット後検証
  
手順 - サブミット後検証
サブミット後検証の実装手順は、事前検証よりもはるかに単純で、選択後検証と似ています。サブミット後検証を実装できるのは、バリデータ内の 1 箇所だけです。サブミット後検証は、ウィザードのステップとウィザードのサブミットにのみ適用される点にも注意してください。
バリデータの作成
サブミット後検証のバリデータの作成方法は、事前検証の場合とまったく同じです。詳細については、手順 - 事前検証を参照してください。
サブミット後検証メソッドの実装
バリデータに実装できるサブミット後検証メソッドは 1 つだけで、メソッド名を validateFormSubmission() といいます。このメソッドは、ウィザードの "次へ" または "終了" 操作を起動したときに、ユーザーが入力したデータが有効かどうかを判断するために呼び出すことを目的としています。
public class MyValidator extends DefaultUIComponentValidator{
@Override
public UIValidationResult validateFormSubmission
(UIValidationKey validationKey,
UIValidationCriteria validationCriteria, Locale
locale) throws WTException {
UIValidationResult result =
UIValidationResult.newInstance(validationKey,
UIValidationStatus.NOT_VALIDATED);
// perform your business logic here
// if you want to execute the action, do this:
// result = UIValidationResult.newInstance(validationKey,
UIValidationStatus.PERMITTED);
// if you want to abort the action, do this:
// result = UIValidationResult.newInstance(validationKey,
UIValidationStatus.DENIED);
// if you want to prompt the user for confirmation, do this:
// result = UIValidationResult.newInstance(validationKey,
//
UIValidationStatus.PROMPT_FOR_CONFIRMATION);
return result;
}
}
UIValidationStatus.PROMPT_FOR_CONFIRMATION の処理方法
バリデータが PROMPT_FOR_CONFIRMATION ステータスを返した場合、特別に設定する必要があります。
オプション 1: PTC.validation.AJAXValidateFormSubmission JavaScript 関数を使用して、独自のカスタム OK/適用ウィザードボタンを使用する。
<action name="myOkButton" id="PJL_wizard_ok" >
<command class="" method="" windowType="page" url=" javascript:PTC.
validation.AJAXValidateFormAndSubmit(validationKey)"/>
</action>
この場合、myOkButton をクリックすると、次の処理が行われます。
指定された validationKey に基づいた PTC.validation.AJAXValidateFormAndSubmit 関数が、マッピングされたバリデータに対してサブミット後関数を実行します。
ステータスが PROMPT_FOR_CONFIRMATION の場合、確認のポップアップが表示され、選択に従って処理が進みます。
確認で "はい" を選択するかステータスが PERMITTED の場合、フォームがサブミットされます。インテリジェンスが内蔵されているため、このリクエストでバリデータを再度呼び出すことはありません。
オプション 2: PTC.validation.AJAXValidateFormSubmission JavaScript 関数を使用して、jsp (フォームがサブミットされたときに呼び出される) に独自のユーザーサブミット関数を追加する。
<script type="text/javascript">
setUserSubmitFunction (function () {return PTC.validation.
AJAXValidateFormSubmission(validationKey);});
</script>
この場合、OK/終了ウィザードボタンをクリックすると、次の処理が行われます。
指定された検証キーに基づいた PTC.validation.AJAXValidateFormSubmission 関数が、マッピングされたバリデータに対してサブミット後関数を実行します。
ステータスが PROMPT_FOR_CONFIRMATION, の場合、確認のポップアップが表示され、選択に従って処理が進みます。
確認で "はい" を選択するかステータスが PERMITTED の場合、OK/終了ウィザードボタンをクリックするとフォームがサブミットされます。インテリジェンスが内蔵されているため、このリクエストでバリデータを再度呼び出すことはありません。