【问题标题】:How to add temporary field for "Reenter-Password" for TYPO3 Extensions?如何为 TYPO3 扩展添加“重新输入密码”的临时字段?
【发布时间】:2018-03-06 08:25:19
【问题描述】:

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

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

如果普通密码字段和重新输入密码字段相同,则应存储在数据库中。 (我这里也做了一个加盐密码,但对这个问题并不重要。)

我尝试了以下

<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"/>

这会产生以下错误:

属性路径“”的属性映射时出现异常:在“RM\Rmregistration\Domain\Model\User”类型的目标对象中找不到属性“reenter_password”

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

有什么方法可以获取值并检查它,而不用 Fluid 将其存储到数据库中?

【问题讨论】:

    标签: typo3 fluid extbase typo3-8.x


    【解决方案1】:

    试着把你的输入像这样放在你的流体模板中:

    &lt;input id="reenter_password" type="password" name="reenter_password"&gt;

    并在控制器操作中查看 \TYPO3\CMS\Core\Utility\GeneralUtility::_POST() 中的内容。

    【讨论】:

    • 是的对不起,我添加了name 属性,就像@MathiasBrodala 说的那样。
    • 它可以工作,但有没有办法在流体中做到这一点或“API-Way”?
    • 我将您的输入字段更改为&lt;f:form.password name="reenter_password" id="reenter_password"/&gt;,现在值在$this-&gt;request-&gt;getArguments()['reenter_password'] API-conform ;)。谢谢
    【解决方案2】:

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

    【讨论】:

    • 请问这个怎么用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多