GWTエディターが可能なConstraintViolation
sとEditorError
sを同時に表示することを達成するのに苦労しています。エラーまたは検証違反のいずれかを表示することは問題ありません。
次の例number
では、Entity
Entity.java:
....
@NotNull
private Integer number;
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
...
EntityEditor.ui.xml
...
<editor:ValueBoxEditorDecorator ui:field="number">
<editor:valuebox>
<g:IntegerBox />
</editor:valuebox>
</editor:ValueBoxEditorDecorator>
...
EntityEditor.java
...
@UiField
ValueBoxEditorDecorator<Integer> number;
private Validator fValidator;
private EntityEditorDriver fEditorDriver;
...
public void validate() {
Entity entity = fEditorDriver.flush();
Set<ConstraintViolation<Entity>> violations = fValidator.validate(entity);
if (!violations.isEmpty() || fEditorDriver.hasErrors()) {
fEditorDriver.setConstraintViolations(violations);
} else {
// process the entity
}
}
番号ボックスに何も入力せずに電話をかけるとvalidate()
、「空にできません」というメッセージが表示されます。正しく表示されます。validate()
「asdf」で呼び出すと、「空にすることはできません」という両方のメッセージが表示されると思います。および「Badvalue(asdf)」ですが、最初の値のみが表示されます。電話をかけないとエディターエラーが表示されますsetConstraintViolations()
が、検証違反は表示されません。
私は何が欠けていますか?
ありがとうございました。