woocommerce-paypal-payments/modules/ppcp-button/resources/js/modules/Helper/FormValidator.js
2023-02-07 15:29:53 +02:00

31 lines
755 B
JavaScript

export default class FormValidator {
constructor(url, nonce) {
this.url = url;
this.nonce = nonce;
}
async validate(form) {
const formData = new FormData(form);
const formJsonObj = Object.fromEntries(formData.entries());
const res = await fetch(this.url, {
method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({
nonce: this.nonce,
form: formJsonObj,
}),
});
const data = await res.json();
if (!data.success) {
if (data.data.errors) {
return data.data.errors;
}
throw Error(data.data.message);
}
return [];
}
}