gpt4 book ai didi

validation - 如何验证是否在 JSF 上填充了 outputText?

转载 作者:行者123 更新时间:2023-12-03 22:16:56 32 4
gpt4 key购买 nike

让我解释一下这个场景,假设我有一个包含人员列表的项目类,您可以搜索一个人并在项目中写下他的任务。

好吧,所以,我有一个添加人员的按钮,它会导致一个模态,其中包含要填写的字段和一个搜索按钮......这个搜索按钮会导致另一个模态,这是一个简单的人物搜索,你输入名称,从列表中选择一个,搜索模态关闭,名称转到前一个模态的输出文本。

问题是,我如何验证这个字段?我的意思是,我可以将其他字段设置为 required=true,设置 requiredMessage 和 p:message。

一切正常,值、按钮都正常,除了该字段的验证。为了给更多的许可,这就是我需要的:

这是我的按钮,打开模式,仅在需要条件时呈现,一切正常。

<p:commandButton icon="ui-icon-search" validateClient="true" type="button" onclick="PF('modalSearchPerson').show();" rendered="#{projectMB.projectParticipant.type == 'STUDENT'}"/>

这是显示参与者姓名的文本,由 modalSearchPerson 更新。

<h:outputText id="personName" title="Participant" value="#{projectMB.projectParticipant.person.name}"/>

我想要的是像 required="true"requiredMessage="You must choose a person."这样简单的东西,在 h:outputText 字段上。

我希望我说清楚了,谢谢。

编辑: 它必须阻止提交,如果我只用 MB 上设置的错误消息更新 :growl,模式将关闭,我不希望这样。

我用来不关闭模式的按钮有:

oncomplete="if (args &amp;&amp; !args.validationFailed) PF('modalAddParticipant').hide();"

最佳答案

JSF 只会验证输入,不会验证输出。

最直接的做法是将其设置为隐藏输入值。

<h:outputText value="#{bean.output}" />
<h:inputHidden value="#{bean.output}" required="true" />

或者,使用只读输入字段,它几乎没有 CSS 样式的帮助,如输出文本(无边框等),并且仅在渲染响应期间标记为只读(否则 JSF 不会在其他阶段处理它)。

<h:inputText value="#{bean.output}" styleClass="looks-like-output" required="true" readonly="#{facesContext.currentPhaseId.ordinal eq 6}" />

关于validation - 如何验证是否在 JSF 上填充了 outputText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33757441/

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