[UTIL][FormFields] Allow specifying whether a password is required and provide placeholder text

This commit is contained in:
Hugo Sales 2021-08-04 20:08:28 +00:00
parent 5aedf64e5b
commit 9ad2cb5e66
Signed by: someonewithpc
GPG Key ID: 7D0C7EAFC9D835A0

View File

@ -10,12 +10,14 @@ use Symfony\Component\Validator\Constraints\NotBlank;
abstract class FormFields abstract class FormFields
{ {
public static function repeated_password() public static function repeated_password(array $options = []): array
{ {
return ['password', RepeatedType::class, return ['password', RepeatedType::class,
['type' => PasswordType::class, ['type' => PasswordType::class,
'first_options' => [ 'first_options' => [
'label' => _m('Password'), 'label' => _m('Password'),
'attr' => ['placeholder' => '********'],
'required' => $options['required'] ?? true,
'constraints' => [ 'constraints' => [
new NotBlank(['message' => _m('Please enter a password')]), new NotBlank(['message' => _m('Please enter a password')]),
new Length(['min' => Common::config('password', 'min_length'), 'minMessage' => _m(['Your password should be at least # characters'], ['count' => Common::config('password', 'min_length')]), new Length(['min' => Common::config('password', 'min_length'), 'minMessage' => _m(['Your password should be at least # characters'], ['count' => Common::config('password', 'min_length')]),
@ -24,6 +26,7 @@ abstract class FormFields
], ],
'second_options' => [ 'second_options' => [
'label' => _m('Repeat Password'), 'label' => _m('Repeat Password'),
'attr' => ['placeholder' => '********'],
], ],
'mapped' => false, 'mapped' => false,
'invalid_message' => _m('The password fields must match'), 'invalid_message' => _m('The password fields must match'),
@ -31,10 +34,12 @@ abstract class FormFields
]; ];
} }
public static function password() public static function password(array $options = []): array
{ {
['password', PasswordType::class, [ ['password', PasswordType::class, [
'label' => _m('Password'), 'label' => _m('Password'),
'attr' => ['placeholder' => '********'],
'required' => $options['required'] ?? true,
'mapped' => false, 'mapped' => false,
'constraints' => [ 'constraints' => [
new NotBlank(['message' => _m('Please enter a password')]), new NotBlank(['message' => _m('Please enter a password')]),