From 53a1b8ff35b22e29af74058971155187fedca8f1 Mon Sep 17 00:00:00 2001 From: Tony Air Date: Fri, 2 Feb 2024 23:24:58 +0200 Subject: [PATCH] IMPR: AJAX processing --- _config/base-extensions.yml | 2 ++ src/Ajax/AjaxFormRequestHandler.php | 44 +++++++++++++++++++++++++++++ src/Ajax/Ex/AjaxControllerEx.php | 1 - 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/Ajax/AjaxFormRequestHandler.php diff --git a/_config/base-extensions.yml b/_config/base-extensions.yml index 2c530af..a5b12c8 100755 --- a/_config/base-extensions.yml +++ b/_config/base-extensions.yml @@ -45,6 +45,8 @@ SilverStripe\Core\Injector\Injector: class: A2nt\CMSNiceties\Forms\GridField\GridFieldConfig_RecordEditor SilverStripe\Forms\GridField\GridFieldConfig_RelationEditor: class: A2nt\CMSNiceties\Forms\GridField\GridFieldConfig_RelationEditor + SilverStripe\Forms\FormRequestHandler: + class: A2nt\CMSNiceties\Ajax\AjaxFormRequestHandler SilverStripe\UserForms\Form\UserForm: extensions: diff --git a/src/Ajax/AjaxFormRequestHandler.php b/src/Ajax/AjaxFormRequestHandler.php new file mode 100644 index 0000000..2e850e8 --- /dev/null +++ b/src/Ajax/AjaxFormRequestHandler.php @@ -0,0 +1,44 @@ +form->validationResult(); + if (!$validation->isValid()) { + $messages = $validation->getMessages(); + return json_encode([ + 'status' => ValidationResult::TYPE_ERROR, + 'msgs' => $messages, + ]); + } + + return $resp; + } +} diff --git a/src/Ajax/Ex/AjaxControllerEx.php b/src/Ajax/Ex/AjaxControllerEx.php index 90fb94b..d22fdca 100755 --- a/src/Ajax/Ex/AjaxControllerEx.php +++ b/src/Ajax/Ex/AjaxControllerEx.php @@ -4,7 +4,6 @@ namespace A2nt\CMSNiceties\Ajax\Ex; use SilverStripe\Control\Controller; use SilverStripe\Control\Director; -use SilverStripe\Control\HTTPRequest; use SilverStripe\Core\Extension; use SilverStripe\Core\Injector\Injector; use SilverStripe\Forms\Form;