From 829a28dc68906ea9311fbeacec0edaa764edf0a8 Mon Sep 17 00:00:00 2001 From: Mojmir Fendek Date: Fri, 20 Sep 2024 14:04:36 +1200 Subject: [PATCH] FIX: Member form validator fix. --- src/Security/Member.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Security/Member.php b/src/Security/Member.php index 2003e8f05cd..6d9889989d6 100644 --- a/src/Security/Member.php +++ b/src/Security/Member.php @@ -15,6 +15,7 @@ use SilverStripe\Core\Injector\Injector; use SilverStripe\Dev\TestMailer; use SilverStripe\Forms\CheckboxField; +use SilverStripe\Forms\CompositeValidator; use SilverStripe\Forms\ConfirmedPasswordField; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\FieldList; @@ -696,6 +697,20 @@ public function getValidator() return $validator; } + public function getCMSCompositeValidator(): CompositeValidator + { + // Add the member validator before extension point, so it's much easier to customise this + // via an extension + $this->beforeExtending( + 'updateCMSCompositeValidator', + function (CompositeValidator $compositeValidator): void { + $memberValidator = $this->getValidator(); + $compositeValidator->addValidator($memberValidator); + } + ); + + return parent::getCMSCompositeValidator(); + } /** * Temporarily act as the specified user, limited to a $callback, but