public void validate() {
ValangValidator validator = new ValangValidator();
Page page = getPage();
if (page != null) {
int index = 0;
// Currently, this only provides field level validation.
// TODO: add page/form level validation.
for (index = 0; index < page.getFields().size(); index++) {
Field field = (Field) page.getFields().get(index);
if (field.getValidateRule() != null) {
try {
// Use springmodules ValangValidator to validate field.
Errors errors = new BindException(field, "field");
String validateStr = field.getValidateRule();
validator.setValang(validateStr);
validator.afterPropertiesSet();
validator.validate(field, errors);
if (errors.getErrorCount() > 0) {
addFieldError("page.fields["+index+"].value",
errors.getFieldError().getDefaultMessage());
}
}
catch(Exception e) {
LOG.error(e);
addActionError("Validation has failed: "+e.getMessage());
}
}
}
}
}
9/03/2008
struts 2: integrate ValangValidator
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment