in reference/src/main/java/org/apache/sling/cms/reference/forms/impl/fields/SelectionHandler.java [68:99]
public void handleField(SlingHttpServletRequest request, Resource fieldResource, Map<String, Object> formData)
throws FormException {
log.trace("handleField");
String name = FieldHandler.getName(fieldResource);
if (isMultiple(fieldResource)) {
String[] value = stripBlank(request.getParameterValues(name));
if (value.length == 0) {
if (FieldHandler.isRequired(fieldResource)) {
throw new FormException("Field " + name + " not set and is required");
} else {
log.debug("Ignoring unset value: {}", name);
}
} else {
log.debug("Setting value for: {}", name);
formData.put(name, value);
}
} else {
String value = request.getParameter(name);
if (StringUtils.isBlank(value)) {
if (FieldHandler.isRequired(fieldResource)) {
throw new FormException("Field " + name + " not set and is required");
} else {
log.debug("Ignoring unset value: {}", name);
}
} else {
log.debug("Setting value for: {}", name);
formData.put(name, value);
}
}
}