Jsf 仅当选中复选框时,才生成h:inputText required

Jsf 仅当选中复选框时,才生成h:inputText required,jsf,input,checkbox,selected,required,Jsf,Input,Checkbox,Selected,Required,我有一个datatable,其中的行包含一些必需的输入文本字段。每行还有一个称为“删除”的复选框。仅当选中复选框时,我才希望使用required=“true”。如何实现这一点?只需让输入的required属性检查复选框的值即可 以下是一个启动示例: <h:form> <h:dataTable value="#{bean.list}" var="item"> <h:column><h:selectBooleanCheckbox bi

我有一个datatable,其中的行包含一些必需的输入文本字段。每行还有一个称为“删除”的复选框。仅当选中复选框时,我才希望使用
required=“true”
。如何实现这一点?

只需让输入的
required
属性检查复选框的值即可

以下是一个启动示例:

<h:form>
    <h:dataTable value="#{bean.list}" var="item">
        <h:column><h:selectBooleanCheckbox binding="#{checkbox}" /></h:column>
        <h:column><h:inputText id="input" value="#{item.value}" required="#{checkbox.value == 'true'}" /></h:column>
        <h:column><h:message for="input" /></h:column>
    </h:dataTable>
    <h:commandButton value="submit" action="#{bean.submit}" />
</h:form>


说真的,无论我搜索的是什么问题,都与JSF有关。到目前为止,everywhere@BalusC的响应非常完美。尊敬您,先生。:-)一个问题:在上面的代码中:我们不需要在checkbox的值更改上关联一个侦听器来更新inputText的必需属性吗?@Mukul。不客气。不,你不需要一个改变的听众。
required
属性是在请求处理表单提交时评估的,而不是在请求显示表单时评估的。答案中的例子是完整的。。。上面的例子是客户端身份验证?我的意思是,
绑定也可以像这样使用。。它不一定总是一个bean属性?@Mukul:不,它仍然在服务器端运行。不,如果不需要在bean的某些方法中访问组件,则不需要bean属性。对于使用
binding
的方法,首先让人感到困惑,请检查以下问题: