gpt4 book ai didi

html - xforms密码确认密码

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:58 24 4
gpt4 key购买 nike

我有典型的密码,用 xforms 确认密码布局:我的实例如下:

<data>
<password/>
<newPassword/>
<confirmPassword/>
</data>

输入是这样的:

 <xf:secret ref="password">
<xf:label>Old PAssword</xf:label>
</xf:secret>

<xf:secret ref="newPassword">
<xf:label>New Password</xf:label>
</xf:secret>
<xf:secret ref="confirmPassword">
<xf:label>Confirm Password</xf:label>
</xf:secret>
<div>
<xf:submit submission="test">
<xf:label>Change Password</xf:label>
</xf:submit>
</div>

我不知道如何准确地验证和匹配新密码与确认密码,我知道它使用 <xf:bind标记,但我还没有找到如何验证节点之间的相等性。请帮忙!

最佳答案

您确实可以使用 xf:bind 来应用约束。只需将以下行添加到您的 xf:model 中:

<xf:bind nodeset="password" required="true()" constraint=". != ''"/>
<xf:bind nodeset="newPassword" required="true()" constraint=". != ''"/>
<xf:bind nodeset="confirmPassword" required="true()" constraint=". = ../newPassword"/>

这将在所有三个输入字段后面添加必填标记,确保所有三个字段都已填写,并且最后两个必须相同。您可以通过在 newPassword 的约束中添加一个“and”来添加 password 和 newPassword 不能相同的约束。

就个人而言,我希望获得更多反馈。这些约束只会导致指示符出现在每个字段后面,而没有任何进一步的信息。如果您可以在您尝试提交信息时显示一条消息,那将是最好的。但这涉及到 xforms 事件处理,我自己没有足够的经验来告诉你怎么做。有一个 xforms-submit-event,您可能能够以某种方式捕捉并采取行动。但最常见的问题是,一旦提交被命中,在将内容发送到服务器之前,您没有或只有很少可能向用户显示反馈。

另一种选择是使用 xf:output 显示条件消息。如果您将 incremental="true"属性添加到您的 xf:secret 输入,这些将在每次击键时刷新。只需在 xf:output 元素上使用带有 choose 表达式的值属性。像这样:

<xf:output value="choose(password = '' or newPassword = '' or confirmPassword = '', 'Please enter current password, new password, and confirmation of new password', '')"/>

<xf:output value="choose(newPassword = '' or newPassword = confirmPassword, '', 'new password, and confirmation do not match!')"/>

如果你愿意,你也可以在它们周围添加一些 pretty-print 。进行动态样式设置的其他方法是使用 xf:group,但我将把它作为练习留给您。

最后,确保也检查服务器端的所有值,以确保没有人作弊。

喂!

关于html - xforms密码确认密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379816/

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