2

我想让用户能够编辑他们的帐户 - 如果他们指定了新密码,请更新它。

为了确保密码拼写正确,我使用了带有第二个字段的相同验证器。这在创建新用户时有效,但在编辑时我遇到了以下问题:

密码字段可以为空,因此不需要。由于密码重复字段也可以为空(只是因为您不需要更改密码或填写密码字段),如果密码中有任何值,我不需要在此字段中重新输入密码场地。

如果我提交了一个空的密码字段(非必需)和一个必填的密码重复字段,我会收到错误,请填写密码重复字段。

如果令牌中没有值,我如何强制检查相同的验证器但接受空值?

4

1 回答 1

0

最近我有同样的问题。这就是我所做的。对于 ADD 用户表单,我添加了密码和重新输入密码,并带有“必需”选项。对于 EDIT 表单,我做了两件事:

1)在呈现表单之前,我确保密码(和重新输入密码)字段为空。当您拉用户以填充未设置密码字段时。

2) 在检查表单的 isValid 之前提交 EDIT 表单时,将提交的密码的 require 选项更改为 false。之后再次在 isValid 之前,检查帖子中的密码字段是否为空。如果它是空的,请在将其传递给表单进行验证之前从数组中取消设置密码字段。

结果将是,当您在密码字段中提交内容时,它将检查并验证是否相同。如果密码值为空,则将保留以前的密码,因为用户更新查询不会触及密码字段。

您可以在密码字段中添加一个小注释,例如:“保留空白以保留旧密码”。

希望这可以帮助 :)

斯托扬

于 2013-03-20T08:32:52.737 回答