How to restrict creation of content based on unique field values? I'm not entirely sure how to title this question.  I want to restrict the creation of a particular content type to one entry per user per the value of a particular field.  So essentially what I'm saying is you should be unable to create a second piece of content of a particular type if the value of a particular field is identical to the value of the same field but in another piece of content created by the same user.

Is there anyway to accomplish this?
I'm not aware of an existing module with that functionality, but it wouldn't be too hard to code your own custom module to do the job.

This is an example using the 'article' node type:

function MYMODULE_form_article_node_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if (empty($form['nid']['#value'])) {
    $form['#validate'][] = 'MYMODULE_article_node_form_validate';
  }
}

function MYMODULE_article_node_form_validate($form, &amp;$form_state) {
  global $user;

  // See if this user has already created a piece of content of this type.
  $args = array(':uid' =&gt; $user-&gt;uid, ':type' =&gt; 'article');
  $count = db_query('SELECT COUNT(nid) FROM {node} WHERE uid = :uid AND type = :type', $args)-&gt;fetchField();

  // If they have, check for another node created by the user with the same field value
  if ($count &gt; 0) {
    $query = new EntityFieldQuery;
    $query-&gt;entityCondition('entity_type')
      -&gt;entityCondition('bundle', 'article')
      -&gt;propertyCondition('uid', $user-&gt;uid)
      -&gt;fieldCondition('field_some_field', 'value', $form_state['values']['field_some_field'][LANGUAGE_NONE][0]['value']);

    $results = $query-&gt;execute();

    // If we have a result, invalidate the form.
    if (!empty($results['node'])) {
      form_set_error('field_some_field', t('Error message here'));
    }
  }
}


That'll need a bit of massaging to match your exact situation, but it should be a good place to start.