如何为 TYPO3 扩展添加 "Reenter-Password" 的临时字段?

How to add temporary field for "Reenter-Password" for TYPO3 Extensions?

在我的 FE 用户注册扩展中,我想添加第二个密码字段,只是为了检查输入的第一个密码的拼写。

我不喜欢在数据库中为此添加额外的字段,因为它仅用于首次输入密码和更改密码目的。

如果正常密码字段和重新输入密码字段相同,则应将其存储在数据库中。 (我这里也加了一个salted password,不过这个问题不重要。)

我尝试了以下方法

<label for="reenter_password" class="reenter_password">
    Reenter Password*
</label><br>
<f:form.password id="reenter_password"/>

这没有错误,但我没有得到值。


<label for="reenter_password" class="reenter_password">
    Reenter Password*
</label><br>
<f:form.password property="reenter_password" id="reenter_password"/>

这会产生以下错误:

Exception while property mapping at property path "": Property "reenter_password" was not found in target object of type "RM\Rmregistration\Domain\Model\User"

我知道如果我在我的模型中创建一个名为 reenter_password 的额外字段 SQL,它会起作用,但是就像我上面说的 我不想存储这到数据库.

有没有办法获取值并检查它,而不用 Fluid 将它存储到数据库中?

尝试将这样的输入放入您的流体模板中:

<input id="reenter_password" type="password" name="reenter_password">

看看你在控制器操作中 \TYPO3\CMS\Core\Utility\GeneralUtility::_POST() 得到了什么。

我会使用 AbstractValueObject 并验证这个,然后,在您的更新操作中,获取 AbstractValueObject 的值之一并将其设置在您的实体中。