Before submitting the order, it is a good idea to validate the data being sent, including any custom properties. To do this, you can register a callback function with the OrderViewModel
that is executed when the handlePlaceOrder()
function is called. You can use the callback function to add validation and error handling.
The code below registers a callback function that validates the widget data. This function first calls the widget’s validate()
function. If that function returns true
, the callback function adds a custom property to the payment data in the OrderViewModel
. If widget.validate()
returns false
, the
callback function adds a validation error to the OrderViewModel
.
widget.validate = function { return true; } widget.order().addValidationCallback(function() { if (widget.validate()) { var customProperties = {genericPaymentId: widget.genericPaymentId}; widget.genericPayment.customProperties = customProperties; widget.updatePayment(widget.genericPayment); } else { widget.order().addValidationError("genericPayment", widget.translate('errorMessage')); } });