Validate

説明

Entity オブジェクトとレポートにエラーがないか検証します。

Entity をコミットするには、事前に検証しておく必要があります (フィールドが変更されていない場合でも)。レコードの内容をプログラムで変更する場合は、コードで必ず有効なデータを指定するようにしてください。

将来のリリースでエラー テキストが変更されることがあるので、戻された文字列はプログラムで構文解析および解釈をしないでください。 誤った値のフィールドの値を訂正する場合、GetInvalidFieldValues メソッドを使用すると、そのフィールドの FieldInfo オブジェクトを取得できます。

このメソッドは、Entity オブジェクトが編集可能な場合にのみ呼び出すことができます。既存の Entity オブジェクトを編集可能にするには、Session オブジェクトの EditEntity メソッドを呼び出します。

注: 失敗の場合、失敗の原因により、メソッドからエラー メッセージを含む文字列か、または例外が戻されることがあります。例えば、メソッドから、フィールドに対しての無効な値セットなどの、失敗のエラー メッセージを含む文字列が戻されます。しかし、編集可能状態でないエンティティを変更しようとしたなどの他の障害には、メソッドから例外がスローされます。コードでは、両タイプの潜在的な失敗を処理する必要があります。詳しくは、エラー チェックと検証 を参照してください。 アクション コミット フック例 に、Validate および Commit メソッドを呼び出すときの、エラーおよび例外の処理の例を示します。

このメソッドは 、ClearQuest クライアントが使用可能な検証データをリフレッシュするために、フックの内側から呼び出すこともできます。ただし、この種の検証を頻繁に使用すると、 パフォーマンスが下がる可能性があることに注意してください。

構文

VBScript

entity.Validate 

Perl

$entity->Validate(); 
識別子
説明
entity
Entity オブジェクトは、ユーザー データ レコードを表します。構文のこの部分を省略すると、フック内では、現在のデータ レコードに対応する Entity オブジェクトが想定されます (VBScript のみ)。
戻り値
Entity オブジェクトが有効な場合、このメソッドは空の文字列 ('') を戻します。検証エラーが検出されると、文字列には、ユーザーへの提示に適した、問題の説明が格納されます。

VBScript

set sessionObj = GetSession 

set entityObj = sessionObj.GetEntity("defect", "BUGID00000042")
sessionObj.EditEntity entityObj, "modify"   

' modify the Entity object 


status = entityObj.Validate 

     if status = "" then

         entityObj.Commit 
      else

          entityObj.Revert  

       End If
' The Entity object is no longer editable 

Perl

# Get the current session

$sessionobj = $entity->GetSession();

# Select an entity to modify

$entityobj = $session->GetEntity("defect","BUGID00000042");


# Take the modify action on the entity object

$sessionobj->EditEntity($entityobj,"modify");

# ...make modifications to the entity object


$status = $entityobj->Validate();

   if ($status == ""){

      $entityobj->Commit();

      }

   else {

         $entityobj->Revert();

      }

# At this point, the entity object is no longer modifiable 

フィードバック