문제

ViewStack에 View가있는 Flex 3 앱이 있으며 해당보기는 요청에 따라 만들어야합니다. 뷰의 각 컨트롤에 대한 유효성 검사기를 선언했으며 validator.validateall ()을 실행하는 checkallvalid ()라는 메소드를 만들었습니다. 이것은 실제로 컨트롤을 사용할 때 (변경 또는 포커스 아웃 이벤트 사용)를 사용할 때 훌륭하지만, 뷰가 사용자에게 처음 표시 될 때 checkallvalid ()를 실행할 수있는 방법은 무엇입니까? 데이터가 컨트롤에 채워져 있습니까?

보기 자체에 다양한 이벤트에 전화를 걸어 보았지만 (예 : CreationComplete, UpdateComplete, Show, Activate 등) 응용 프로그램을 시작할 때 항상 다음 오류가 표시됩니다.

'속성 속성이 지정 될 때 소스 속성을 지정해야합니다.'

나는 또한 "모두"로 CreationPolicy를 설정하려고 시도했지만 이것은 도움이되지 않습니다.

일부 유효성 검사기 중 일부는 양식이 특정 상태에있을 때만 활성화되지만, 가장 간단한 유효성 검사기를 제외하고 내 모든 유효성 검사기를 댓글을 달아서 잠재적 인 문제로 제거했습니다.

<mx:Array id="validators"><mx:StringValidator id="val_Address1" source="{Address1}" property="text" required="true" triggerEvent=""/></mx:Array>

CheckallValid () 메소드는 다음과 같이 간단합니다.

private function checkAllValid():void{              
        var validationErrors: Array = Validator.validateAll(validators);        
}

또한 ValidAteAll을 사용하지 않고 직접 단일 유효성 검사기를 호출하려고 시도했으며 결과는 동일합니다.

도와주세요! 보기가 표시 될 때 검증을 강요 할 수있는 방법이 있어야합니다 ....

(그건 그렇고 그것은 Cairngorm MVC 프레임 워크에 있으며 컨트롤에 데이터가 바운드되어 있습니다)

도움이 되었습니까?

해결책

알았어요! 나는 다른 관점에 비슷한 검증자를 추가했고 그들은 잘 작동했습니다. 차이점은 무엇입니까? CheckallValid ()라는 방법은 내부 컨테이너 - 메인 뷰 구성 요소가 아닙니다.

따라서 결국 그것은 유효성 검사 자체와 관련이 없었습니다. 제작 순서를 완전히 이해하지 못했습니다.

누군가가 창조 명령과 비슷한 문제를 겪을 경우를 대비하여 여기에 질문을 남겨 둘 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top