anchor.diff:  										name: 'hideOnSubmission',
   										boxLabel: 'Hide on Submission',
   										id: 'editAttributeForm-hideOnSubmission',
  -										toolTip: 'Hiding requires a default code. Codes must be created before this flag can be set.',
  +										toolTip: 'Hiding a required attribute requires a default code. Codes must be created before this flag can be set.',
   										listeners: {
   											change: function(box, newValue) {
   												var select = Ext.getCmp('editAttributeForm-defaultCode');
  -												if (newValue === true) {
  +												if (newValue === true && Ext.getCmp('requiredFlagCheckBox').getValue()) {
   													select.setFieldLabel('Default Code<span class="field-required" />');
   													select.allowBlank = false;
   												}
   												else {
  -
   													select.setFieldLabel('Default Code');
   													select.allowBlank = true;
   													select.clearInvalid();
  
positive.code: 													}
  													else {
  														Ext.getCmp('editAttributeForm-typesRequiredFor').hide();
  													}
  											}
  										}
  
negative.code: 													{
  														Ext.getCmp('editAttributeForm-typesRequiredFor').show();
  
  														var select = Ext.getCmp('editAttributeForm-defaultCode');
  														if (Ext.getCmp('editAttributeForm-hideOnSubmission').getValue()) {
  															select.setFieldLabel('Default Code<span class="field-required" />');
  															select.allowBlank = false;
  														} else {
  															select.setFieldLabel('Default Code');
  															select.allowBlank = true;
  															select.clearInvalid();
  														}
  
  														var mult = Ext.getCmp('multipleFlagCheckBox');
  														if (mult.getValue() == true) {
  															var msg = 'Attributes that allow multiple codes cannot be required. You may remove the';
  