@Override
public void validateFromParams(final CustomFieldParams relevantParams, final ErrorCollection errorCollectionToAddTo, final FieldConfig config)
{
final String selectedString = (String) relevantParams.getFirstValueForNullKey();
if (StringUtils.isNotBlank(selectedString) && !"-1".equals(selectedString))
{
final Options options = optionsManager.getOptions(config);
checkNotNull(options);
final CustomField customField = config.getCustomField();
final String validOptions = createValidOptionsString(options);
Long optionId = null;
try
{
optionId = Long.valueOf(selectedString);
}
catch (NumberFormatException e)
{
errorCollectionToAddTo.addError(customField.getId(), getI18nBean().getText("admin.errors.invalid.value.passed.for.customfield",
"'" + selectedString + "'", "'" + customField + "'", validOptions), Reason.VALIDATION_FAILED);
}
if (options.getOptionById(optionId) == null)
{
errorCollectionToAddTo.addError(customField.getId(), getI18nBean().getText("admin.errors.invalid.value.passed.for.customfield",
"'" + selectedString + "'", "'" + customField + "'", validOptions), Reason.VALIDATION_FAILED);
}
}
}