gpt4 book ai didi

java - 浏览器自动填充 Wicket 表单面板中的错误字段

转载 作者:行者123 更新时间:2023-11-30 03:59:47 29 4
gpt4 key购买 nike

我正在使用 Wicket 表单面板来允许网络应用程序的管理员编辑用户帐户数据。有一个密码字段,管理员可以在其中为用户和其他帐户数据字段设置新密码。当我打开表单面板时,浏览器会使用我在浏览器中保存的密码自动填充密码字段。默认情况下,该字段应留空。此外,浏览器会在手机号码字段中插入我的用户名(“admin”)!

The formpanel

有没有办法通过更改表单字段的代码来避免这种行为?例如禁止自动填充或类似的东西?以下是相关代码部分:

        mobile = new TextField<String>("mobile");
mobile.add(PhonenumberValidator.getInstance());
mobile.setOutputMarkupId(true);
addToForm(new FencedFeedbackPanel("mobileCfp", mobile));
addToForm(mobile);
generatedPassword = new GeneratedPasswordLabelPanel("generatedPassword");
generatedPassword.setOutputMarkupId(true);
generatePassword = new IndicatingAjaxLink<Void>("generatePassword"){
private static final long serialVersionUID = 6759645521399346111L;

@Override
public void onClick(AjaxRequestTarget target) {
generatedPasswordString = PasswordGenerator.generatePassword(8);
generatedPassword.setPasswordString(generatedPasswordString);
target.add(generatedPassword);
}
};
newPassword = new PasswordTextField("newPassword");
newPassword.add(PasswordValidator.getInstance());
newPassword.setOutputMarkupId(true);
newPassword.setModel(new Model<String>());
newPassword.setRequired(false);
newPassword.setResetPassword(true);
newPassword.add(new RequiredLabelBehavior());
confirmPassword = new PasswordTextField("confirmPassword");
confirmPassword.setOutputMarkupId(true);
confirmPassword.setModel(new Model<String>());
confirmPassword.setRequired(false);
confirmPassword.setResetPassword(true);
confirmPassword.add(new RequiredLabelBehavior());
pwContainer = new WebMarkupContainer("pwContainer");
pwContainer.add(confirmPassword);
pwContainer.add(newPassword);
pwContainer.add(generatePassword);
pwContainer.add(generatedPassword);
pwContainer.add(new FencedFeedbackPanel("newPasswordCfp", newPassword));
pwContainer.add(new FencedFeedbackPanel("confirmPasswordCfp", confirmPassword));
pwContainer.setVisible(ajax);
addToForm(pwContainer);

这是 Wicket-Html 代码:

<?xml version="1.0" encoding="UTF-8"?>

        <div wicket:id="emailCfp" />
<input wicket:id="email" type="text" />
<div class="brclear"></div>

<select wicket:id="account.salutation" />
<div class="brclear"></div>

<input wicket:id="title" type="text" style="width:100px" />
<div class="brclear" />

<div wicket:id="firstnameCfp" />
<input wicket:id="firstname" type="text" />
<div class="brclear"></div>

<div wicket:id="lastnameCfp" />
<input wicket:id="lastname" type="text" />
<div class="brclear"></div>

<div wicket:id="phoneCfp" />
<label><wicket:message key="phone" /></label><input wicket:id="phone" type="text" />
<div class="brclear"></div>

<div wicket:id="birthday" />
<div class="brclear" />

<div wicket:id="mobileCfp" />
<label><wicket:message key="mobile" /></label><input wicket:id="mobile" type="text" />
<div class="brclear"></div>
</fieldset>

<fieldset wicket:id="imageContainer">
<legend><wicket:message key="legend.picture" /></legend>
<div>
<img style="float: left; margin: 0px 5px 5px 0px;" wicket:id="userImage" />
<br />
<span wicket:id="blob"></span>
</div>
</fieldset>

<fieldset wicket:id="pwContainer">
<legend><wicket:message key="legend.pw" /></legend>
<input type="button" wicket:id="generatePassword" wicket:message="value:generatePassword" />
<div style="float:left;">
<div wicket:id="generatedPassword" />
</div>
<div class="brclear"></div>

<div wicket:id="newPasswordCfp" />
<input wicket:id="newPassword" type="password" />
<div class="brclear"></div>

<div wicket:id="confirmPasswordCfp" />
<input wicket:id="confirmPassword" type="password" />
<div class="brclear"></div>
</fieldset>

<wicket:child />

</wicket:extend>

谢谢!

最佳答案

以下代码将向您展示如何禁用 HTML 表单的自动填充。我认为这就是你所需要的。但我不知道如何在Java中设置这个值。 autocomplete="off" 是神奇的参数。

<form action="demo_form.asp" method="get" autocomplete="off">
First name:<input type="text" name="fname"><br>
E-mail: <input type="email" name="email"><br>
<input type="submit">
</form>

编辑:我在 https://issues.apache.org/jira/browse/WICKET-1504 找到了一些东西,但我不确定它是否有效。newPassword.put("自动完成", "关闭");用户名输入字段对象也是如此。

关于java - 浏览器自动填充 Wicket 表单面板中的错误字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22245791/

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