Validate

설명

Entity 오브젝트의 유효성을 검증한 후 오류가 있으면 보고합니다.

Entity를 확약하기 전에 유효성을 검증해야 합니다(변경된 필드가 없더라도). 레코드의 컨텐츠를 프로그램 방식으로 변경할 경우, 코드가 올바른 데이터를 제공하는지 확인해야 합니다.

향후 릴리스에서는 오류 텍스트가 변경될 수 있으므로 리턴된 문자열을 프로그램 방식으로 구문 분석 및 해석해서는 안됩니다. 올바르지 않은 값을 가진 필드의 값을 정정할 경우, GetInvalidFieldValues 메소드를 사용하여 해당 필드의 FieldInfo 오브젝트를 확보할 수 있습니다.

Entity 오브젝트가 편집 가능한 경우에만 이 메소드를 호출할 수 있습니다. 기존의 Entity 오브젝트를 편집 가능하게 만들려면 Session 오브젝트의 EditEntity 메소드를 호출하십시오.

주: 실패 시, 메소드는 실패 원인에 따라 오류 메시지 또는 예외를 포함하는 문자열을 리턴합니다. 예를 들어, 메소드는 실패에 대한 오류 메시지(예: 값 세트가 필드에 올바르지 않음)를 포함하는 문자열을 리턴할 수 있습니다. 그러나, 메소드에서 기타 실패에 대한 예외(편집 가능한 상태에 있지 않은 엔티티를 변경하려 함)가 발생할 수도 있습니다. 따라서, 코드에서 발생 가능성이 있는 두 가지 실패 유형 모두를 처리해야 합니다. 자세한 정보는 오류 검사 및 유효성 검증을 참조하십시오. 조치 확약 후크 예제에 Validate 및 Commit 메소드를 호출할 때 발생하는 오류 및 예외 예제가 제공되어 있습니다.

구문

VBScript

entity.Validate 

Perl

$entity->Validate(); 
ID
설명
entity
사용자 데이터 레코드를 나타내는 Entity 오브젝트. 후크 내에서 구문에 이 부분을 생략할 경우, Entity 오브젝트가 현재 데이터 레코드에 해당한다고 가정합니다(VBScript에만 해당).
Return value
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 

피드백