}
@Override
public void validate(final Form< ? > form)
{
final LdapGroupValues values = new LdapGroupValues();
values.setGidNumber(gidNumberField.getConvertedInput());
if (StringUtils.isBlank(data.getLdapValues()) == true && values.isPosixValuesEmpty() == true) {
// Nothing to validate: all fields are zero and posix account wasn't set for this group before.
return;
}
if (values.getGidNumber() == null) {
gidNumberField.error(getLocalizedMessage(WebConstants.I18N_KEY_FIELD_REQUIRED, getString("ldap.gidNumber")));
} else {
if (LdapPosixGroupsUtils.isGivenNumberFree(data, values.getGidNumber()) == false) {
gidNumberField.error(getLocalizedMessage("ldap.gidNumber.alreadyInUse", LdapPosixGroupsUtils.getNextFreeGidNumber()));
}
}
}
});