function _field_conditional_state_validate in Field Conditional States 7.2
Required validation added for conditional field.
Parameters
$form: Array of form elements.
$form_state: Array of form state elements.
1 string reference to '_field_conditional_state_validate'
- field_conditional_state_form_alter in ./
field_conditional_state.module - Implements hook_form_alter().
File
- ./
field_conditional_state.module, line 1041 - Main functions of this module.
Code
function _field_conditional_state_validate($form, &$form_state) {
foreach ($form_state['field'] as $key => $field_data) {
// Checking for field collection items.
if ($key == '#parents') {
foreach ($field_data as $field_items) {
foreach ($field_items['und'][0]['#fields'] as $field) {
$field_instance = $field[LANGUAGE_NONE]['instance'];
$field_conditional = _field_conditional_state_get_conditional_states($field_instance['entity_type'], $field_instance['bundle'], $field_instance['field_name']);
// Checking fields are conditional field or not.
if (!empty($field_conditional)) {
foreach ($field_conditional as $conditional) {
// Checking conditional field state is required or not. If required
// then set the required form validation.
if ($conditional['state'] == 'required' && empty($form[$conditional['field_name']][LANGUAGE_NONE][0]['#value']) && !empty($form[$conditional['states'][0]['control_field']][LANGUAGE_NONE]['#value'])) {
form_set_error($field_instance['label'], t('@name field is required.', array(
'@name' => $field_instance['label'],
)));
}
}
}
}
}
}
else {
$field_instance = $field_data[LANGUAGE_NONE]['instance'];
$field_conditional = _field_conditional_state_get_conditional_states($field_instance['entity_type'], $field_instance['bundle'], $field_instance['field_name']);
// Checking fields are conditional field or not.
if (!empty($field_conditional)) {
foreach ($field_conditional as $conditional) {
// Checking conditional field state is required or not. If required
// then set the required form validation.
if ($conditional['state'] == 'required' && empty($form[$conditional['field_name']][LANGUAGE_NONE][0]['#value']) && !empty($form[$conditional['states'][0]['control_field']][LANGUAGE_NONE]['#value'])) {
form_set_error($field_instance['label'], t('@name field is required.', array(
'@name' => $field_instance['label'],
)));
}
}
}
}
}
}