PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / DonationForms / resources / app / utilities / handleValidationRequest.ts
give / src / DonationForms / resources / app / utilities Last commit date
ConvertFieldAPIRulesToJoi.ts 7 months ago PrepareFormData.ts 2 years ago amountFormatter.ts 2 years ago buildRegisterValidationOptions.ts 2 years ago conditionOperatorFunctions.js 2 years ago convertValuesToFormData.ts 2 years ago createValidationObjectFromFields.js 2 years ago generateRequestErrors.ts 1 year ago getCurrentFormUrlData.js 1 year ago getDefaultValuesFromSections.ts 2 years ago getDonationFormNodeSettings.ts 2 years ago getErrorByFieldName.ts 2 years ago getWindowData.ts 2 years ago groups.ts 2 years ago handleFormRedirect.ts 1 year ago handleFormSubmitRequest.ts 1 year ago handleValidationRequest.ts 2 years ago isRouteInlineRedirect.ts 2 years ago memoNode.ts 2 years ago mountWindowData.ts 1 year ago postData.ts 2 years ago postFormData.ts 2 years ago registerFieldAndBuildProps.tsx 1 year ago setDesignSettings.ts 2 years ago useDonationFormPubSub.ts 1 year ago
handleValidationRequest.ts
50 lines
1 import {Gateway, isFormResponseGatewayError, isFormResponseValidationError} from '@givewp/forms/types';
2 import generateRequestErrors from '../utilities/generateRequestErrors';
3 import FormRequestError from '../errors/FormRequestError';
4
5 import {__} from '@wordpress/i18n';
6 import {FieldValues, UseFormSetError} from 'react-hook-form';
7 import postFormData from '@givewp/forms/app/utilities/postFormData';
8 import convertValuesToFormData from '@givewp/forms/app/utilities/convertValuesToFormData';
9
10 /**
11 * @since 3.0.0
12 */
13 export default async function handleValidationRequest(
14 validateUrl: string,
15 values: FieldValues,
16 setError: UseFormSetError<FieldValues>,
17 gateway?: Gateway
18 ) {
19 if (gateway !== undefined && values?.donationType === 'subscription' && !gateway.supportsSubscriptions) {
20 return setError('FORM_ERROR', {
21 message: __(
22 'This payment gateway does not support recurring payments, please try selecting another payment gateway.',
23 'give'
24 ),
25 });
26 }
27
28 try {
29 const formData = convertValuesToFormData(values);
30
31 const {response} = await postFormData(validateUrl, formData);
32
33 const formResponse = await response.json();
34
35 if (isFormResponseGatewayError(formResponse) || isFormResponseValidationError(formResponse)) {
36 throw new FormRequestError(formResponse.data.errors.errors);
37 } else {
38 return true;
39 }
40 } catch (error) {
41 if (error instanceof FormRequestError) {
42 return generateRequestErrors(values, error.errors, setError);
43 }
44
45 return setError('FORM_ERROR', {
46 message: error?.message ?? __('Something went wrong, please try again or contact support.', 'give'),
47 });
48 }
49 }
50