私はまだSymfonyとPhpを初めて使っているので、SymfonyのドキュメントからCheckboxTypeコードを使用しています。チェックボックス(サービス利用規約/プライバシー)のカスタムメッセージを表示
現在、ユーザーが登録しようとするとチェックボックスがオフになっても、ユーザーがアカウントを作成できないというメッセージは表示されません。
(1)チェックボックスの横にチェックボックスをオンにして続行する必要があるというエラーメッセージが表示されます。このメッセージをカスタマイズしたいと思います。
ありがとうございました!
{{ form_widget(form.termsAccepted) }}
チェックボックスをレンダリングするために:
Register.html
{% extends 'base.html.twig' %}
{% block body %}
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1>Register!</h1>
{{ form_start(form) }}
{{ form_row(form.username) }}
{{ form_row(form.email) }}
{{ form_row(form.plainPassword.first, {
'label': 'Password'
}) }}
{{ form_row(form.plainPassword.second, {
'label': 'Repeat Password'
}) }}
<a href="https://termsfeed.com/terms-service">Terms of service</a>
{{ form_widget(form.termsAccepted) }}
<a href="http://t5Project/web/">cancel</a>
<button type="submit" class="btn btn-primary" formnovalidate>
Register
</button>
<br></br>
<p><a href="https://termsfeed.com/privacy">Privacy Policy</a>
{{ form_end(form) }}
</div>
</div>
</div>
{% endblock %}
RegistrationForm.php
class UserRegistrationForm extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('email', EmailType::class)
->add('username', TextType::class)
->add('plainPassword', RepeatedType::class, ['type' => PasswordType::class])
->add('termsAccepted', CheckboxType::class, array(
'mapped' => false,
'constraints' => new IsTrue(),));
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
'validation_groups' => ['Default', 'Registration']
]);
}
}