function wf_crm_money_validate in Webform CiviCRM Integration 7.5
Same name and namespace in other branches
- 7.4 includes/wf_crm_admin_component.inc \wf_crm_money_validate()
Drupal FAPI validate callback Validate money options & default value
1 string reference to 'wf_crm_money_validate'
- wf_crm_admin_component::moneyOptions in includes/
wf_crm_admin_component.inc - options_element alterations for when a currency field (e.g. contribution amount, event fee) is rendered as a select
File
- includes/
wf_crm_admin_component.inc, line 698
Code
function wf_crm_money_validate($form, &$form_state) {
$vals = $form_state['values'];
if (!empty($vals['value']) && !is_numeric($vals['value']) && $vals['type'] != 'formula') {
//Check if default value is a token string.
$isTokenString = token_replace($vals['value'], [], [
'clear' => true,
]);
if (!empty($isTokenString)) {
form_error($form['value'], t('This is a CiviCRM currency field. @field must be a number.', [
'@field' => $form['value']['#title'],
]));
}
}
foreach ([
'items',
'options',
] as $field) {
if (!empty($vals['extra'][$field])) {
foreach (wf_crm_str2array($vals['extra'][$field]) as $key => $val) {
if (!is_numeric($key)) {
form_error($form, t('This is a CiviCRM currency field. @field keys must be numeric.', [
'@field' => $form[$field]['#title'],
]));
break;
}
}
}
}
}