我想在wicket字段验证中重新格式化字段内容。
示例时间输入字段:
用户输入:1459 - >验证还可以 - >字段显示重新格式化值:14:59(中间有冒号)
感谢您的帮助,
ULI
public class PhoneValidatorWrapper implements IValidator<String>, Serializable
{
public PhoneValidatorWrapper()
{
}
@Override
public void validate(IValidatable<String> validatable)
{
// validation goes here ...
// writing pretty print back to model
validatable.getModel().setObject("hello world");
}
}
但显示的值仍保持不变
答案 0 :(得分:0)
我建议使用javascript重新格式化客户端的用户输入。以下jQuery插件可能可以完成这项工作:
答案 1 :(得分:0)
我终于找到了怎么做: 它通过结合验证器和行为来工作:
public class PhoneValidatorWrapper extends Behavior implements IValidator<String>, Serializable
{
String prettyFormattedValue = null;
public PhoneValidatorWrapper()
{
}
@Override
public void validate(IValidatable<String> validatable)
{
// validation goes here ...
prettyFormattedValue = internalValidationResult.getPrettyValue();
}
@Override
public void beforeRender(Component component)
{
super.beforeRender(component);
IModel defaultModel = component.getDefaultModel();
defaultModel.setObject(prettyFormattedValue);
}
}