mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Merge branch '5.3' into 5
This commit is contained in:
commit
b02ac10fc8
@ -15,6 +15,7 @@ use SilverStripe\Core\Convert;
|
||||
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;
|
||||
@ -697,6 +698,20 @@ class Member extends DataObject
|
||||
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
|
||||
|
21
tests/php/Core/Validation/MemberValidatorTest.php
Normal file
21
tests/php/Core/Validation/MemberValidatorTest.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace SilverStripe\Core\Tests\Validation;
|
||||
|
||||
use SilverStripe\Dev\SapphireTest;
|
||||
use SilverStripe\Security\Member;
|
||||
use SilverStripe\Security\Member_Validator;
|
||||
|
||||
class MemberValidatorTest extends SapphireTest
|
||||
{
|
||||
protected $usesDatabase = false;
|
||||
|
||||
public function testMemberValidator(): void
|
||||
{
|
||||
$member = new Member();
|
||||
$compositeValidator = $member->getCMSCompositeValidator();
|
||||
|
||||
$memberValidators = $compositeValidator->getValidatorsByType(Member_Validator::class);
|
||||
$this->assertCount(1, $memberValidators, 'We expect exactly one member validator');
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user