현재 필드가 변경되면 다른 필드와의 유효성을 검사하려고합니다.Eclipse Scout 네온 값 설정 유효성 검사 루프
기본 아이디어는 내가 필드 A
및 필드 B,C,D,E,...
을 가지고 그 분야에 대한 몇 가지 복잡한 종속성 그래프가있는 경우, 나는 그것이 이런 식으로 해결하고 싶은 것입니다 :
- 나는 값을 수출 양식을 설정하면
- 양식 데이터 계산 및 해결 스카우트 서버 종속성 그래프에 서버
- 에게 정찰 보낼 수있는 데이터 (양식의 현재 상태는)
- 주문 리터의 필드의 전화
setters
을 (우리는 순서대로 목록을 가져옵니다) 양식 데이터를 "수정"하는 ist - 마지막에 양식 데이터를 가져옵니다.
내 문제는 내가
@Override
protected void execChangedValue() {
// trigger export
// trigger server validation
// trigger import
}
에서이 이벤트를 트리거 만약 내가
2016-06-03 13:31:28,468 WARN scout-model-thread-22 o.e.s.rt.client.ui.form.fields.AbstractValueField - Loop detection in ...$FieldA with value 101191 [m4042 @ ]
java.lang.Exception: null
방법이 문제를 해결 할 수 있다는 것입니다?
오류가 다시 발생하면 가져 오기를 중단하고 이전 값을 되돌리려는 경우에도 문제가 발생합니다. 그것은 중요하지 않습니다 무엇 oldValue
이다
@Override
protected void execChangedValue() {
// trigger export
// trigger server validation
if (error) {
setValueWithoutTrigger(oldValue)
} else {
// trigger import
}
}
, 그것은 null이 될 수 있습니다. (오류시 재설정 값). 방법 setValueWithoutTrigger
는 setValue()
와 동일하지만 BSI 코드에서 유사한 기능을 보았 기 때문에 설정 값 전에, 나는 어떻게 든 할 수 알고 this.setValueChangeTriggerEnabled(false);
을했다.
을 설정합니다
importBCDE
메소드 execValidateValue을 사용하는 것입니다 요점을 얻는다. 내가 아는 한, 서버에서 필드 B, C, D 및 E의 값을 계산하려고합니다. 그렇다면 왜 클라이언트에서 execChangedValue() 메서드를 정의해야합니까? –귀하의 의견을 이해할 수 없습니다. 그렇다면 execChangedValue()가 아니라면 서버 측에서 검사를 트리거할까요? 사용자가 필드 A의 일부 데이터를 변경할 때 서버에서 트리거 유효성 검사를 원하면 클라이언트에서 트리거해야하고 execChangedValue가 올바른 지점처럼 보입니다. –
당신 말이 맞아요. 이제 네 질문을 이해한다. 고맙습니다. –