使用 JSF 2.0:
用户加载一个带有输入字段的页面,该输入字段绑定到具有现有值的支持 bean 字段。输入字段已被标记为必填项。如果用户随后清空该字段并提交表单,则会按预期显示所需的消息,但是在呈现页面时该字段的值将替换为其原始值,而不是将该字段留空。
此行为似乎与字段上存在格式验证错误(与必需的验证错误)时发生的情况不一致,例如,如果有一个字段供用户在页面上输入电子邮件地址,该字段链接到电子邮件格式验证器,并且当页面加载无效的电子邮件地址并提交表单时,用户替换了在字段中填充的现有有效电子邮件地址,出现验证错误消息,并且电子邮件地址字段的当前值保持不变(而不是替换加载页面时的原始值)。
当发生必填字段验证错误而不是重新加载其原始(非空白)值时,有什么方法可以将字段留空?
更多细节:
- 网络逻辑 10.3.2
- 我的脸 2.0.12
JSF 页面:
<h:form>
<h:messages showSummary="true"/>
<h:inputText value="#{page1Controller.firstName}"
required="true"
requiredMessage="You must enter a first name"/>
<h:commandButton value="Submit"/>
</h:form>
托管豆
@ManagedBean
public class Page1Controller
{
public String getFirstName()
{
return "Default Value";
}
public void setFirstName(String value)
{
// no-op (for example purposes only)
}
}