How to allow users to 'add' values to a multi-value field but not edit any previously add values? I have a field called 'Remarks' on an ECK entity (not a node) and Role A is allowed to leave remarks but I don't want them to edit previous remarks, I just want to give them the option to add one. Note: they are not the author or owner of the entity. Right now, I use an Edit Page Variant for this entity that they have access to and where this form for 'field_remarks' appears. The problem is that the previously added remarks are still showing up and therefore now they can still edit someone else's remarks.
potential solution 1
I would probably be possible to hide the fields that already contain values with jQuery but that is not really the Drupal way, I believe.
potential solution 2
Could it possibly be done with a Rules component that adds the value (text) to this field programmatically? And if so, how and where to show a text field that would accomplish that?
You can programmatically disable them in module like this:
function mymodule_form_alter(&amp;$form, &amp;$form_state, $form_id) {
   if($form_id == 'eck__entity__form_edit_ENTITY_NAME_BUNDLE_NAME') {
     $lang = $form['field_name']['#language'];
     foreach ($form['field_name'][$lang] as $key =&gt; $value) {
       if (is_numeric($key) &amp;&amp; !empty($value['value']['#default_value'])) {
         $form['field_name'][$lang][$key]['value']['#disabled'] = TRUE;
       }
     }
   }
}

Result