Custom validations with form error set on CCK may require custom coding. This is one such exercise for both Drupal 6 and Drupal 7.
Drupal 6
<?php
/**
* Validations for Employee Leave
*/
function custom_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'validate' && $node->type == 'lms') {
    $start_date =$node->field_lms_start_date[0]['value'];
    $end_date =$node->field_lms_end_date[0]['value'];
    if($start_date > $end_date){
      form_set_error('field_lms_start_date', 'Start Date of Leave Should be less than End Date of Leave');
    }
  }
}
?>Drupal 7
<?php
function custom_form_alter(&$form, &$form_state, $form_id) {
   if($form_id == 'exam_node_form') {
     $form['#validate'][] = 'custom_exam_node_form_validate';
   }
}
function custom_exam_node_form_validate(&$form, &$form_state){
  $exam_type = $form_state['values']['field_exam_assessment'][LANGUAGE_NONE][0]['tid'];
  if($exam_type == 45){  // External Assessment
      form_set_error('field_exam_assessment',"Teaching Staff cannot create Assessment of type External. Please contact administrator");
  }
}
?>Technologies: