Java Reference
In-Depth Information
The
validate
( ) JavaScript function submits the form to the
validate
( )
event handler:
$(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:
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