Java Reference
In-Depth Information
The validate ( ) JavaScript function submits the form to the validate ( )
event handler:
Download ajax/web/WEB-INF/jsp/server_side_validation.jsp
$(document).ready(function() {
validate($('#${fmd.formId}'));
});
function validate(form) {
var params = $(form).serializeArray();
params.push({name: '_eventName', value: 'validate'});
$.post(form.action, params, function(data) {
/ * ... * /
});
}
The action bean implements ValidationErrorHandler and checks for an
Ajax request. In that case, the validation error messages are put in
a map and returned in a JavaScriptResolution . With no validation errors,
validate ( ) just returns an empty map:
Download ajax/src/stripesbook/action/ServerFormActionBean.java
public Resolution validate() {
return new JavaScriptResolution(Collections.emptyMap());
}
public Resolution handleValidationErrors(ValidationErrors errors) {
String header =
getContext().getRequest().getHeader("X-Requested-With");
if (header != null && header.equalsIgnoreCase("XMLHttpRequest")) {
Map<String,List<String>> map = new HashMap<String,List<String>>();
Locale locale = getContext().getLocale();
for (String key : errors.keySet()) {
List<ValidationError> errorList = errors.get(key);
List<String> messages = new ArrayList<String>(errorList.size());
for (ValidationError error : errorList) {
messages.add(error.getMessage(locale));
}
map.put(key, messages);
}
return new JavaScriptResolution(map);
}
return null ;
}
 
Search WWH ::




Custom Search