Merge pull request #13170 from elisseck/dev/core/485
[civicrm-core.git] / api / v3 / ContributionPage.php
index 8506143621980477071890bf0e370c7faf9f7648..393dfa75f367296cab8b633518cf7f4a0905e5a2 100644 (file)
@@ -3,7 +3,7 @@
  +--------------------------------------------------------------------+
  | CiviCRM version 5                                                  |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2017                                |
+ | Copyright CiviCRM LLC (c) 2004-2019                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -104,6 +104,26 @@ function civicrm_api3_contribution_page_submit($params) {
   return civicrm_api3_create_success($result, $params, 'ContributionPage', 'submit');
 }
 
+/**
+ * Validate ContributionPage submission parameters.
+ *
+ * @param array $params
+ *   Array per getfields metadata.
+ *
+ * @return array
+ *   API result array
+ */
+function civicrm_api3_contribution_page_validate($params) {
+  $form = new CRM_Contribute_Form_Contribution_Main();
+  $form->controller = new CRM_Core_Controller();
+  $form->set('id', $params['id']);
+  $form->preProcess();
+  $errors = CRM_Contribute_Form_Contribution_Main::formRule($params, [], $form);
+  if ($errors === TRUE) {
+    $errors = [];
+  }
+  return civicrm_api3_create_success($errors, $params, 'ContributionPage', 'validate');
+}
 
 /**
  * Set default getlist parameters.