Example: Field Validation

This example demonstrates how to validate a single field value. For example, the following code segment shows how you can ensure that a user in a specific group cannot lower the priority of a defect.

In this example, if the user is in the QATester group and the BG_PRIORITY field is being modified, the new value of the BG_PRIORITY field cannot be lower than the current value.

This example assumes that in the Priority field list for the project, lower priorities come first when the values are sorted in ascending order. For example, the list meets this requirement if the elements are as follows: 1-Low, 2-Medium, 3-High.

Add the code to the Bug_FieldCanChange event procedure so that it is triggered when the user attempts to change a defect field value.

Function Bug_FieldCanChange(FieldName, NewValue)
        ' Initialize the function's return value 
	' to avoid unpredictable behavior.
        Bug_FieldCanChange = True 
        On Error Resume Next
        If User.IsInGroup("QATester") and FieldName ="BG_PRIORITY" _
	 Then
            If NewValue < Bug_Fields("BG_PRIORITY").Value then
                Bug_FieldCanChange = False
                msgbox "You do not have permission to lower " _
		 & "defect priority."
            Else
                Bug_FieldCanChange = True
            End If
        Else
            ' Enter your code here.
        End If
        PrintError "Bug_FieldCanChange"
        On Error GoTo 0
End Function