return $errors;
}
- if(isset($self->_paymentFields)) {
- foreach ($self->_paymentFields as $name => $fld) {
- if ($fld['is_required'] &&
- CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $fields))
- ) {
- $errors[$name] = ts('%1 is a required field.', array(1 => $fld['title']));
- }
- }
+ if (!empty($self->_paymentFields)) {
+ CRM_Core_Form::validateMandatoryFields($self->_paymentFields, $fields, $errors);
}
+ CRM_Core_Payment_Form::validateCreditCard($fields, $errors);
- // make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $fields)) {
- if (CRM_Utils_Array::value('credit_card_number', $fields) &&
- !CRM_Utils_Rule::creditCardNumber($fields['credit_card_number'], $fields['credit_card_type'])
- ) {
- $errors['credit_card_number'] = ts('Please enter a valid Credit Card Number');
- }
-
- if (CRM_Utils_Array::value('cvv2', $fields) &&
- !CRM_Utils_Rule::cvv($fields['cvv2'], $fields['credit_card_type'])
- ) {
- $errors['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
- }
- }
foreach (CRM_Contact_BAO_Contact::$_greetingTypes as $greeting) {
if ($greetingType = CRM_Utils_Array::value($greeting, $fields)) {
$customizedValue = CRM_Core_OptionGroup::getValue($greeting, 'Customized', 'name');
* @static
*/
static function formRule($fields, $files, $self) {
- foreach ($self->_fields as $name => $fld) {
- if ($fld['is_required'] &&
- CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $fields))
- ) {
- $errors[$name] = ts('%1 is a required field.', array(1 => $fld['title']));
- }
- }
+ $errors = array();
+ CRM_Core_Form::validateMandatoryFields($self->_fields, $fields, $errors);
// make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $fields)) {
- if (CRM_Utils_Array::value('credit_card_number', $fields) &&
- !CRM_Utils_Rule::creditCardNumber($fields['credit_card_number'], $fields['credit_card_type'])
- ) {
- $errors['credit_card_number'] = ts('Please enter a valid Credit Card Number');
- }
+ CRM_Core_Payment_Form::validateCreditCard($fields, $errors);
- if (CRM_Utils_Array::value('cvv2', $fields) &&
- !CRM_Utils_Rule::cvv($fields['cvv2'], $fields['credit_card_type'])
- ) {
- $errors['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
- }
- }
return empty($errors) ? TRUE : $errors;
}
* @access public
*/
function cancelAction() {}
+
+ /**
+ * Helper function to verify that required fields have been filled
+ * Typically called within the scope of a FormRule function
+ */
+ static function validateMandatoryFields($fields, $values, &$errors) {
+ foreach ($fields as $name => $fld) {
+ if (!empty($fld['is_required']) && CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $values))) {
+ $errors[$name] = ts('%1 is a required field.', array(1 => $fld['title']));
+ }
+ }
+ }
}
}
}
+ /**
+ * Make sure that credit card number and cvv are valid
+ * Called within the scope of a QF formRule function
+ */
+ static function validateCreditCard($values, &$errors) {
+ if (!empty($values['credit_card_type'])) {
+ if (!empty($values['credit_card_number']) &&
+ !CRM_Utils_Rule::creditCardNumber($values['credit_card_number'], $values['credit_card_type'])
+ ) {
+ $errors['credit_card_number'] = ts('Please enter a valid Credit Card Number');
+ }
+ if (!empty($values['cvv2']) &&
+ !CRM_Utils_Rule::cvv($values['cvv2'], $values['credit_card_type'])
+ ) {
+ $errors['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
+ }
+ }
+ }
+
/**
* function to map address fields
*
if ($error) {
$errors['_qf_default'] = $error;
}
+ CRM_Core_Form::validateMandatoryFields($self->_fields, $fields, $errors);
- foreach ($self->_fields as $name => $field) {
- if ($field['is_required'] && CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $fields))) {
- $errors[$name] = ts('%1 is a required field.', array(1 => $field['title']));
- }
- }
-
-
- if (CRM_Utils_Array::value('credit_card_type', $fields)) {
- if (CRM_Utils_Array::value('credit_card_number', $fields) &&
- !CRM_Utils_Rule::creditCardNumber($fields['credit_card_number'], $fields['credit_card_type'])
- ) {
- $errors['credit_card_number'] = ts("Please enter a valid Credit Card Number");
- }
-
- if (CRM_Utils_Array::value('cvv2', $fields) &&
- !CRM_Utils_Rule::cvv($fields['cvv2'], $fields['credit_card_type'])
- ) {
- $errors['cvv2'] = ts("Please enter a valid Credit Card Verification Number");
- }
- }
+ // make sure that credit card number and cvv are valid
+ CRM_Core_Payment_Form::validateCreditCard($fields, $errors);
}
return empty($errors) ? TRUE : $errors;
if (CRM_Utils_Array::value('payment_processor_id', $values)) {
// make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $values)) {
- if (CRM_Utils_Array::value('credit_card_number', $values) &&
- !CRM_Utils_Rule::creditCardNumber($values['credit_card_number'], $values['credit_card_type'])
- ) {
- $errorMsg['credit_card_number'] = ts('Please enter a valid Credit Card Number');
- }
-
- if (CRM_Utils_Array::value('cvv2', $values) &&
- !CRM_Utils_Rule::cvv($values['cvv2'], $values['credit_card_type'])
- ) {
- $errorMsg['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
- }
- }
+ CRM_Core_Payment_Form::validateCreditCard($values, $errorMsg);
}
- if ( CRM_Utils_Array::value( 'record_contribution', $values ) && ! CRM_Utils_Array::value( 'financial_type_id', $values ) ) {
- $errorMsg['financial_type_id'] = ts( 'Please enter the associated Financial Type' );
+ if (CRM_Utils_Array::value('record_contribution', $values) && !CRM_Utils_Array::value('financial_type_id', $values)) {
+ $errorMsg['financial_type_id'] = ts('Please enter the associated Financial Type');
}
// validate contribution status for 'Failed'.
}
if (!$validatePayement) {
-
return TRUE;
-
}
- foreach ($self->_fields as $name => $fld) {
- if ($fld['is_required'] &&
- CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $fields))
- ) {
- return FALSE;
- }
- }
+ $errors = array();
+
+ CRM_Core_Form::validateMandatoryFields($self->_fields, $fields, $errors);
// make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $self->_params[0])) {
- if (CRM_Utils_Array::value('credit_card_number', $self->_params[0]) &&
- !CRM_Utils_Rule::creditCardNumber($self->_params[0]['credit_card_number'], $self->_params[0]['credit_card_type'])
- ) {
- return FALSE;
- }
+ CRM_Core_Payment_Form::validateCreditCard($self->_params[0], $errors);
- if (CRM_Utils_Array::value('cvv2', $self->_params[0]) &&
- !CRM_Utils_Rule::cvv($self->_params[0]['cvv2'], $self->_params[0]['credit_card_type'])
- ) {
- return FALSE;
- }
+ if ($errors) {
+ return FALSE;
}
+
foreach (CRM_Contact_BAO_Contact::$_greetingTypes as $greeting) {
if ($greetingType = CRM_Utils_Array::value($greeting, $self->_params[0])) {
$customizedValue = CRM_Core_OptionGroup::getValue($greeting, 'Customized', 'name');
) {
return empty($errors) ? TRUE : $errors;
}
- if (property_exists($self, '_paymentFields') && !empty($self->_paymentFields )) {
- foreach ($self->_paymentFields as $name => $fld) {
- if ($fld['is_required'] &&
- CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $fields))
- ) {
- $errors[$name] = ts('%1 is a required field.', array(1 => $fld['title']));
- }
- }
+ if (!empty($self->_paymentFields)) {
+ CRM_Core_Form::validateMandatoryFields($self->_paymentFields, $fields, $errors);
}
+ CRM_Core_Payment_Form::validateCreditCard($fields, $errors);
}
- // make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $fields)) {
- if (CRM_Utils_Array::value('credit_card_number', $fields) &&
- !CRM_Utils_Rule::creditCardNumber($fields['credit_card_number'], $fields['credit_card_type'])
- ) {
- $errors['credit_card_number'] = ts('Please enter a valid Credit Card Number');
- }
- if (CRM_Utils_Array::value('cvv2', $fields) &&
- !CRM_Utils_Rule::cvv($fields['cvv2'], $fields['credit_card_type'])
- ) {
- $errors['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
- }
- }
foreach (CRM_Contact_BAO_Contact::$_greetingTypes as $greeting) {
if ($greetingType = CRM_Utils_Array::value($greeting, $fields)) {
$customizedValue = CRM_Core_OptionGroup::getValue($greeting, 'Customized', 'name');
if (CRM_Utils_Array::value('payment_processor_id', $params)) {
// make sure that credit card number and cvv are valid
- if (CRM_Utils_Array::value('credit_card_type', $params)) {
- if (CRM_Utils_Array::value('credit_card_number', $params) &&
- !CRM_Utils_Rule::creditCardNumber($params['credit_card_number'], $params['credit_card_type'])
- ) {
- $errors['credit_card_number'] = ts('Please enter a valid Credit Card Number');
- }
-
- if (CRM_Utils_Array::value('cvv2', $params) &&
- !CRM_Utils_Rule::cvv($params['cvv2'], $params['credit_card_type'])
- ) {
- $errors['cvv2'] = ts('Please enter a valid Credit Card Verification Number');
- }
- }
+ CRM_Core_Payment_Form::validateCreditCard($params, $errors);
}
$joinDate = NULL;