You are here

function matrix_required_validate in Matrix field 8.2

Same name and namespace in other branches
  1. 7.2 matrix.module \matrix_required_validate()

Validate the required attribute of a cell standard #requied cannot be used because:

  • It should not be invoked during ajax calls
  • No message is returned to the user (error set without message or cell highlighted)
1 string reference to 'matrix_required_validate'
matrix_field_widget_form in ./matrix.module
Implements hook_field_widget_form().

File

./matrix.module, line 594
Contains matrix.module.

Code

function matrix_required_validate($element, &$form_state) {
  $error = FALSE;
  list($e, $value) = matrix_op($form_state);
  if (!in_array($value, array(
    t('More rows'),
    t('More columns'),
  ))) {
    if ($element['#matrix_required'] == TRUE) {
      if (is_array($element['#value']) && empty($element['#value'])) {
        $error = TRUE;
      }
      elseif ($element['#value'] == '') {
        $error = TRUE;
      }
      if ($error) {
        form_error($element, t('The cell at row %row, column %column in the %field_name is required', array(
          '%row' => $element['#matrix_row'],
          '%column' => $element['#matrix_column'],
          '%field_name' => $element['#field_name'],
        )));
      }
    }
  }
}