我有一个实现IValidator
. 我将此验证器类添加到我的中,并调用TextField
了覆盖的方法。validate(Invalidatable<T>)
但是,如果TextField
为空,则不会调用该方法,并且不会进行验证。为什么会这样?这是预期的行为吗?
验证器类
public class CorporateNameValidator implements IValidator<String> {
private static final String ERROR_EMPTY = "Error";
@Override
public void validate(IValidatable<String> validatable) {
//Method not called when TextField has blank value.
final String name = validatable.getValue();
info("NAME: " + name);
}
}
实例化文本域
corporateNameInput = new TextField<String>(CORPORATE_NAME_INPUT_ID, new PropertyModel<String>(this, ""));
设置文本字段属性
corporateNameInput.add(new CorporateNameValidator());
corporateNameInput.setOutputMarkupPlaceholderTag(true);
然后我将 TextField 添加到表单中。