ユーザーが入力したフィールド値の確認

Validation フックを使用して、ユーザーがフィールドに入力した情報が 有効かどうかを確認できます。情報が無効な場合は、 有効な情報の入力を求めるプロンプトが出されます。
フィールドまたはアクションに 新しい BASIC フックまたは PERL フックを定義すると、そのフックの呼び出し構文が スクリプト エディタ ウィンドウに追加されます。呼び出し構文は 編集できません。

フックはフィールドの動作に影響することがあるため、 フックは慎重に設計、テストしてからユーザーに提供してください。 たとえば、このユーザー入力フックの例では、動作グリッドの設定に関係なく、ユーザー入力フックによって user_number field が必須フィールドとして設定されます。

  1. Designer を開始します。
  2. [ClearQuest スキーマ リポジトリ エクスプローラ (ClearQuest Schema Repository Explorer)] ビューで、スキーマの [レコード タイプ] フォルダを展開してから、レコード タイプをダブルクリックします。 レコード タイプ エディタが開きます。
  3. [フィールド] タブをクリックして、レコード フィールド グリッドを表示します。
  4. フィールド グリッドで、修正するフィールドの [確認] セルを クリックします。下矢印をクリックして使用可能なフックの リストを表示します。[SCRIPTS] > [BASIC] または [SCRIPTS] > [PERL] とクリックします。 [インスタント編集モード] が有効な場合は、 スクリプト エディタが開きます。[インスタント編集モード] が無効な場合は、 フィールドの [確認] セルをダブルクリックしてスクリプト エディタを開始します。

    BASIC と Perl には、それぞれ専用のスクリプト エディタがあります。Designer では、Designer ウィンドウの タイトル バーにエディタのタイプが表示されます。正しいエディタを使用していることを確認してから、 コードを編集してください。

  5. ユーザー入力を確認するコードを、次に示す行の後に入力します (Perl の場合、行は # で始まります)。
    REM Return a non-empty string explaining why the
    REM field's current value is not permitted.
    REM Or, if it is valid, return an empty string value.
    REM Example: 
    REM Dim value_info
    REM Set value_info = GetFieldValue(fieldname)
    REM If Len(value_info.GetValue()) < 10 Then
    REM resolution_date_Validation = "Must be at least 10 chars long"
    REM End If
    たとえば、フィールド名が「user_number」、データ型が INT の場合、 次のコードにより、1 ~ 100 の値だけをユーザーが入力できるようにします。
    REM Return a non-empty string explaining why the field's current 
    value is not permitted
    REM Or, if it is valid, return an empty string value.
    
    value = GetFieldValue(fieldname).Get Value()
    if Not IsNumeric(value)
      user_number_Validation="フィールドに番号が入力されていません。"
    Else If (value < 1) or (value > 100) then
      user_number_Validation="ユーザー番号は、1 ~ 100 の間の値でなければなりません。"
    end if

フィードバック