- int existingFieldIndex = profile.getFieldNames().indexOf(name);
- if ((existingFieldIndex == -1) || (existingFieldIndex == fieldIndex)) {
- profile.setFieldName(fieldIndex, name);
- currentSone.setProfile(profile);
+ String name = request.getHttpRequest().getPartAsStringFailsafe("name", 256);
+ Field existingField = profile.getFieldByName(name);
+ if ((existingField != null) && (!field.equals(existingField))) {
+ templateContext.set("duplicateFieldName", true);
+ } else {
+ if (!name.equals(field.getName())) {
+ field.setName(name);
+ currentSone.setProfile(profile);
+ }