REM End If
Dim value_info
Set value_info=GetFieldValue(fieldname)
If Not IsNumeric(value_info.GetValue) Then
User_number_Validation=”Must be an integer between 1 and 100”
ElseIf (value_info.Getvalue<1) or (value_info.Getvalue>100) Then
User_number_Validation=”Must be between 1 and 100”
End If
这个例子中,当用户在field中输入一个数字,ClearQuest客户端运行相应的验证分支代码。
如果验证分支代码返回一个非空字符串,用户将被提示该field中包含无效值。
4.选择Hooks > Compile。编译脚本并检测确定没有语法错误。如果没有错误,在Script Errors 框中将会显示No error(s) found 。
5.关闭脚本编辑器。
注释:分支代码能够影响field的状态,因此在发布它们之前,你必须慎重的计划并测试这些代码。例如,ClearQuest设置未初始化的整数为0。练习中添加的分支代码检测这个field的值,如果发现小于1或大于100,则返回错误信息。这就使得User_number field成为强制性的field,因为0不能通过有效性检测。
然而,如果你看User_number field的属性(展开 Record Types > Defect > States and Actions 并双击Behaviors),该field被定义为可选field。因此,这个验证分支代码实际上改变了这个field的属性。
REM End If
Dim value_info
Set value_info=GetFieldValue(fieldname)
If Not IsNumeric(value_info.GetValue) Then
User_number_Validation=”Must be an integer between 1 and 100”
ElseIf (value_info.Getvalue<1) or (value_info.Getvalue>100) Then
User_number_Validation=”Must be between 1 and 100”
End If