如何从Wicket 7中的表中获取标签

如何从Wicket 7中的表中获取标签,wicket,wicketstuff,wicket-7,Wicket,Wicketstuff,Wicket 7,是否可以在验证中获取我的组件的标签?我需要此标签用于验证中的自定义错误消息。它看起来像: 该值不能小于{0} 如果我的组件有一个标签,那么我想先写它,比如: LabelName:该值不能小于{0} 我的组件BigDecimalValidator不知道BigDecimalTextfield BigDecimalValidator的可验证项无法达到必要的标签 @Override public void validate(IValidatable<BigDecimal> validatab

是否可以在验证中获取我的组件的标签?我需要此标签用于验证中的自定义错误消息。它看起来像:

该值不能小于{0}

如果我的组件有一个标签,那么我想先写它,比如:

LabelName:该值不能小于{0}

我的组件BigDecimalValidator不知道BigDecimalTextfield

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的构造函数可以访问标签,但这不是一个好的解决方案

您可以在i18n消息中使用{label},Wicket将用表单组件的标签替换它


例如{label}:该值不能小于{0}。

您能否提醒我,此功能取决于对xxxxxtField/label的具体创建?
@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);
    }
}