유효성 검사 내 구성 요소의 레이블을 가져올 수 있습니까? 내 유효성 검사시 사용자 정의 오류 메시지에 대해이 레이블이 필요합니다. 모양은 다음과 같습니다.Wicket 7의 IValidatable에서 라벨을 얻는 방법
"값은 {0}보다 작을 수 없습니다." 내 구성 요소는 다음 레이블이있는 경우
내가 좋아하는 전에 쓰고 싶어하지 :
"LABELNAME을 : 값이 더보다 적을 수 있습니다 {0}입니다."
내 구성 요소 BigDecimalValidator는 BigDecimalTextfield를 알 수 없습니다.
tfiGV = new BigDecimalTextField("tfiGV", new Model<BigDecimal>());
tfiGV.setLabel(Model.of(Const_Labels.GV));
tfiGV.add(BigDecimalValidator.minimum(0));
의 validatable BigDecimalValidator 필요한 라벨에 도달 할 수 있습니다.
@Override
public void validate(IValidatable<BigDecimal> validatable) {
// Doesn't work ((FormComponent<BigDecimal>) validatable).getLabel();
if (((BigDecimal) validatable.getValue()).compareTo(BigDecimal.valueOf(minimum, 3)) == -1) {
ValidationError valError = new ValidationError();
valError.setMessage(getErrorMessageMin(minimum));
validatable.error(valError);
}
}
나는 레이블이 BigDecimalValidator에 대한 생성자 도달 할 수 있지만, 이것은 좋은 해결책이 아니다는 것을 알고있다.
이 기능은 XxxxxTextField/Label 쌍의 특정 생성 여부에 달려 있습니다. –