如何在PrimeFaces组件上同时使用REQUIRED和DISABLED属性?

时间:2019-05-06 21:50:50

标签: jsf primefaces

此处是Java开发人员。

这个问题可能令人困惑,所以我给它一个上下文:如果后备bean的布尔值设置为true,那么我有一个inputText字段需要禁用,反之亦然。

但是,如果未禁用该字段,则需要填写。像这样:

<p:inputText tabIndex="3" id="someInput" maxlength="50"
disabled="#{!backingBean.idIsUnknown}"
required="#{backingBean.idIsUnknown}"
value="some text">
</p:inputText>

一个不能工作,而另一个不能同时工作。运行应用程序时,我一直收到该特定错误:

  

无法设置内容类型。响应已提交

有什么解决方法吗?

2 个答案:

答案 0 :(得分:0)

如果我做对了,那么如果idIsUnknown的值为true,则希望禁用该字段。

因此,您不需要在方法调用之前放置!,因为如果该值为true,disabled=""会将字段设置为Disabled。

我也建议您根本不要使用!。尝试已经在Backing Bean中设置了正确的布尔值,并且只是请求该值,而不是在XHTML中进行切换。如有必要,仅为disabled=""

创建第二个布尔属性

更新

找到“ Makhiel”鞭子的答案可能会帮助您解决问题:

disabled="true"禁用输入(因此在提交表单时将跳过输入),如果您不希望用户使用readonly="readonly"

进行输入

答案 1 :(得分:-2)

删除必需的属性。将验证移到后端。 在该字段中添加一些样式/ css,使其看起来像必需的。