驗證欄位中的使用者輸入

您可以使用驗證連結鉤來驗證使用者在欄位中輸入的資訊是否有效。 如果此資訊無效,會提示使用者輸入有效的資訊。
當您針對欄位或動作定義新的 BASIC 或 Perl 連結鉤時, 該連結鉤的呼叫語法會新增至 Script 編輯器視窗。您無法編輯呼叫語法。

因為連結鉤會影響欄位的行為, 因此請審慎設計及測試連結鉤後,再供使用者使用。例如,不論「行為」格線中的設定為何, 這個使用者輸入連結鉤範例實際上會使 user_number 欄位成為必要輸入欄位。

  1. 啟動 Designer。
  2. 在「ClearQuest 綱目儲存庫總管」視圖中,展開位於您綱目中的記錄類型資料夾,然後按兩下某個記錄類型。 這時會開啟記錄類型編輯器。
  3. 按一下欄位標籤,檢視「記錄欄位」格線。
  4. 在「欄位」格線中,按一下所要修改欄位的驗證資料格,然後按下移鍵來顯示可用連結鉤清單。按一下 SCRIPTS > BASICSCRIPTS > PERL 如果已啟用「即時編輯模式」,則會開啟 Script 編輯器。 如果已停用「即時編輯模式」, 請按兩下欄位的驗證資料格來啟動 Script 編輯器。

    BASIC 和 Perl 都有專用的 Script 編輯器。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="Field does not contain a number."
    Else If (value < 1) or (value > 100) then
      user_number_Validation="User number must be between 1 and 100."
    end if

意見