我的网络应用程序出现问题。我似乎一直在使用我的用户名和密码字段进行自动填充。我登录时没关系,问题是即使在创建帐户页面中它仍然会自动填充,即使我将textFields(InputText)命名为另一个。我在chrome和firefox中都试过这个,它仍然是一样的。
以下是应用程序和代码的一些屏幕截图。
对于创建帐户页面
<p:outputLabel id="userLabel" value="Username*" />
<p:inputText id="userField"
value="#{marketingPersonController.marketingPerson.account.username}"
required="true" requiredMessage="Username* value is required."
label="UsernameInput">
<f:ajax
listener="#{marketingPersonController.checkUsernameIfAvailable()}"/>
</p:inputText>
<p:outputLabel id="passLabel" value="Password*"/>
<p:password id="passField"
value="#{marketingPersonController.marketingPerson.account.password}"
feedback="true" inline="true"
match="confirmPassField" required="true"
requiredMessage="Password* value is required" label="PasswordInput"
validatorMessage="Password must be at least 6 characters / Password does not match">
<f:validateLength minimum="6" />
</p:password>
我的登录
以下是我登录的代码:
<table>
<tr>
<td><p:outputLabel rendered ="#{!accountController.loggedIn}" value ="Username:"/></td>
<td><p:inputText rendered="#{!accountController.loggedIn}" id="username" value="#{accountController.account.username}"/></td>
<td><p:message for="username" rendered ="false"/></td>
</tr>
<tr>
<td><p:outputLabel rendered="#{!accountController.loggedIn}" value="Password:"/></td>
<td><p:password rendered="#{!accountController.loggedIn}" id="password" value="#{accountController.account.password}"/></td>
<td><p:message for="password" rendered ="false"/></td>
</tr>
答案 0 :(得分:0)
这里(MDN) 如果自动完成的解决方案=&#34; off&#34;你可以找到一些推荐的解决方法。不会工作。
答案 1 :(得分:0)
您需要关闭自动填充功能,但jsf没有自动填充属性。这意味着您必须在每个输入的基础上关闭它或为UIForm编写自定义渲染器。
目前有一个未解决的问题,它要求将此属性添加到:JSF规范问题418.目前,它已安排在JSF 2.2中。
同时,你可以使用OmniFaces Html5RenderKit来获得组件上autocomplete =“off”的支持。