gpt4 book ai didi

Symfony2 - FOSUserBundle - 检查自定义重置页面上的密码确认是否不匹配

转载 作者:行者123 更新时间:2023-12-02 14:22:41 25 4
gpt4 key购买 nike

我正在构建一个自定义表单,供用户重置密码。除了检查密码是否不匹配之外,一切都已完成。当 2 个输入的字段不匹配时,不会给出错误 - 但表单将重新加载为空,所以我知道它已被捕获

在表单变量转储中,我有 {{ dump(form.new.first.vars.errors) }}

array(1) {
[0]=>
object(Symfony\Component\Form\FormError)#251 (4) {
["message":"Symfony\Component\Form\FormError":private]=>
string(26) "fos_user.password.mismatch"
["messageTemplate":protected]=>
string(26) "fos_user.password.mismatch"
["messageParameters":protected]=>
array(1) {
["{{ value }}"]=>
string(5) "array"
}
["messagePluralization":protected]=>
NULL
}

}

这是我显示表单的方式

<div class="container">
<div class="row">
<div class="col-sm-4 single">
<div class="panel r-panel panel-default">
<div class="panel-heading">
<h1>Enter New Password</h1>
</div>
<div class="panel-body">
<form action="{{ path('fos_user_resetting_reset', {'token': token}) }}" {{ form_enctype(form) }} method="POST" class="fos_user_resetting_reset">
<div class="form-group">
<label for="{{form.new.first.vars.id}}"> Password
<span class="text-primary">*</span>
</label>
{{ form_widget(form.new.first, {'attr': {'class': 'form-control'}}) }}
</div>
<label for="{{form.new.second.vars.id}}"> Confirm
<span class="text-primary">*</span>
</label>
{{ form_widget(form.new.second, {'attr': {'class': 'form-control'}}) }}
</div>
<input type="submit" value="Reset Password" />
</div>
{{ form_end(form) }}
</div>
</div>
</div>
</div>

我希望在 Twig 代码中我可以添加类似的内容

{% if passwords_mismatch %} ERROR! {% endif %}

最佳答案

您还可以尝试使用 Symfony2 表单可用的重复表单类型。这可以替换您使用的 2 个输入字段。重复表单字段显示 2 个输入字段,并检查它们是否相等。

您应该将 'error_bubbling' => true 设置为重复字段

有关重复表单类型的更多信息,请参阅:http://symfony.com/doc/current/reference/forms/types/repeated.html

例如:

$builder->add('new', 'repeated', array(
'type' => 'password',
'options' => array('translation_domain' => 'DocdataUserBundle'),
'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Repeat password'),
'invalid_message' => 'fos_user.password.mismatch',
'error_bubbling' => true
))

关于Symfony2 - FOSUserBundle - 检查自定义重置页面上的密码确认是否不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28224325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com