验证字段中的用户输入

您可以使用验证挂钩来验证用户在字段中输入的信息是否有效。 如果信息无效,那么会提示用户输入有效信息。

关于此任务

当为字段或操作定义新的 BASIC 或 Perl 挂钩时,该挂钩的调用语法会添加到脚本编辑器窗口。 调用语法是不可编辑的。

由于挂钩会影响字段的行为,因此要仔细地设计并测试挂钩,然后才能让用户使用这些挂钩。 例如,该用户输入挂钩示例可有效地使 user_number 字段成为必填字段,不论“行为”网格中的设置如何。

过程

  1. 启动 Designer。
  2. 在“ClearQuest® 模式存储库资源管理器”视图中,展开模式中的记录类型文件夹,然后双击记录类型。 这样会打开记录类型编辑器。
  3. 单击字段选项卡以查看“记录字段”网格。
  4. 在“字段”网格中,单击要修改的字段的验证单元格,然后单击向下箭头以显示可用挂钩列表。 单击 SCRIPTS > BASICSCRIPTS > 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="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

反馈