我想让用户能够编辑他们的帐户 - 如果他们指定了新密码,请更新它。
为了确保密码拼写正确,我使用了带有第二个字段的相同验证器。这在创建新用户时有效,但在编辑时我遇到了以下问题:
密码字段可以为空,因此不需要。由于密码重复字段也可以为空(只是因为您不需要更改密码或填写密码字段),如果密码中有任何值,我不需要在此字段中重新输入密码场地。
如果我提交了一个空的密码字段(非必需)和一个必填的密码重复字段,我会收到错误,请填写密码重复字段。
如果令牌中没有值,我如何强制检查相同的验证器但接受空值?
我想让用户能够编辑他们的帐户 - 如果他们指定了新密码,请更新它。
为了确保密码拼写正确,我使用了带有第二个字段的相同验证器。这在创建新用户时有效,但在编辑时我遇到了以下问题:
密码字段可以为空,因此不需要。由于密码重复字段也可以为空(只是因为您不需要更改密码或填写密码字段),如果密码中有任何值,我不需要在此字段中重新输入密码场地。
如果我提交了一个空的密码字段(非必需)和一个必填的密码重复字段,我会收到错误,请填写密码重复字段。
如果令牌中没有值,我如何强制检查相同的验证器但接受空值?
最近我有同样的问题。这就是我所做的。对于 ADD 用户表单,我添加了密码和重新输入密码,并带有“必需”选项。对于 EDIT 表单,我做了两件事:
1)在呈现表单之前,我确保密码(和重新输入密码)字段为空。当您拉用户以填充未设置密码字段时。
2) 在检查表单的 isValid 之前提交 EDIT 表单时,将提交的密码的 require 选项更改为 false。之后再次在 isValid 之前,检查帖子中的密码字段是否为空。如果它是空的,请在将其传递给表单进行验证之前从数组中取消设置密码字段。
结果将是,当您在密码字段中提交内容时,它将检查并验证是否相同。如果密码值为空,则将保留以前的密码,因为用户更新查询不会触及密码字段。
您可以在密码字段中添加一个小注释,例如:“保留空白以保留旧密码”。
希望这可以帮助 :)
斯托扬