<?php
function reqFields(&$fields, &$vMsg, &$rMsg, &$rClass) { //<-- $rClass holds assoc. array of class names for fields (for eForm > 1.4.4)
global $modx;
/* optional. load parameter values for error css classes */
$req_class_name = $modx->event->params['requiredClass'];
$inv_class_name = $modx->event->params['invalidClass'];
/* end optional */
if ($fields['payment-type'] == 'Credit card'){
if ($fields['card-type'] == ''){
$rMsg['card-type'] = "card type required"; //<-- should be the field name or description only
$rClass['card-type'] .= $rClass['card-type'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
if ($fields['card-name'] == ''){
$rMsg['card-name'] = "name on credit card required";
$rClass['card-name'] .= $rClass['card-name'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
if ($fields['card-number'] == ''){
$rMsg['card-number'] = "credit card number required";
$rClass['card-number'] .= $rClass['card-number'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
if ($fields['card-vcode'] == ''){
$rMsg['card-vcode'] = "credit card validation code required";
$rClass['card-vcode'] .= $rClass['card-vcode'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
if ($fields['cc-month'] == ''){
$rMsg['cc-month'] = "credit card expiry month";
$rClass['cc-month'] .= $rClass['cc-month'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
if ($fields['cc-year'] == ''){
$rMsg['cc-year'] = "credit card expiry year";
$rClass['cc-year'] .= $rClass['cc-year'] ? ' ' . $req_class_name : $req_class_name; //optional.
}
} else if ($fields['payment-type'] == 'AusPost Money Order'){
//do nothing
} else if ($fields['payment-type'] == 'Payment on pickup'){
//do nothing
} else {
$vMsg['payment-type'] = "payment type required"; //<-- use $vMsg not $rMsg. Add a full error message
$rClass['payment-type'] .= $rClass['payment-type'] ? ' ' . $inv_class_name : $inv_class_name; //optional.
}
return true;
}
?>