我很难让Omnifaces skipValidators标记用于Primefaces ajax事件。基本上,我需要根据selectOneMenu的选择更新表单中的许多元素,但我还需要保留已输入的任何值,而不是验证表单。然而,我无法让它工作。下面是问题的一个小例子:
xhtml:
<h:form>
<h:panelGrid columns="3">
<p:outputLabel for="console" value="Basic:" />
<p:selectOneMenu id="console" value="#{testBean.value}" style="width:125px">
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItem itemLabel="Xbox One" itemValue="Xbox One" />
<f:selectItem itemLabel="PS4" itemValue="PS4" />
<f:selectItem itemLabel="Wii U" itemValue="Wii U" />
<p:ajax event="change" process="@form" update="@form">
<o:skipValidators/>
</p:ajax>
</p:selectOneMenu>
<p:message for="console"/>
<p:outputLabel for="reqField" value="RequiredField:"/>
<p:inputText id="reqField" required="#{testBean.required}" requiredMessage="REQUIRED!"/>
<p:message for="reqField"/>
</h:panelGrid>
</h:form>
测试豆:
@Named(value = "testBean")
@SessionScoped
public class TestBean implements Serializable {
private String value;
/**
* Creates a new instance of TestBean
*/
public TestBean() {
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public boolean isRequired() {
return this.value != null && !this.value.isEmpty();
}
}
当页面加载时,它看起来是正确的-reqField中没有星号。选择一个控制台值后,页面会正确更改,并且在请求字段旁边会出现一个星号。但是,在选择控制台值后,如果再次从菜单中选择“Select One”,则会显示验证错误。
如果我理解正确,o: skipValidators
应该会阻止验证的发生。这是怎么回事?
我用的是全面2.3和底面5.1.12
我没有Ajax,试试这个。希望这有帮助!
<代码>
该标准只允许基于每个表单或每个请求的验证控制(通过在其属性中使用多个标签和条件EL表达式),最终可能会以样板代码告终。尽管有它的名字,但该标准实际上根本没有任何工具来验证bean。
<代码>
<p:commandButton
id="refresh"
icon="fa fa-refresh"
styleClass="refresh-button btn-blue"
process="@form"
update="phone_1 @form:htmlView">
<o:validateBean disabled="true"/>
</p:commandButton>
或
<代码>
<p:commandButton
id="refresh"
icon="fa fa-refresh"
styleClass="refresh-button btn-blue"
process="@form"
update="phone_1 @form:htmlView">
<o:skipValidators/>
</p:commandButton>
如果你想知道更多,请看这里:
http://showcase.omnifaces.org/validators/validateBean http://showcase.omnifaces.org/taghandlers/skipValidators
如showcase中所述,标签必须放置在UICommand或ClientBehaviorHolder组件内。你把它放在一个<代码>
<p:selectOneMenu ...>
...
<p:ajax ... />
<o:skipValidators />
</p:selectOneMenu>
我在Scala2.11.1和Hzaelcast 3.5中使用kryo进行序列化。我试图将数据放在hazelcast映射中,但我得到了KryoException 下面是我的用户类序列化程序 现在,当我将用户类对象从Hcast客户端放入相应的映射中时,如下所示 它给了我这些例外: 以下是中的 请帮帮我!!
本文向大家介绍webpack proxy 使用(代理的使用),包括了webpack proxy 使用(代理的使用)的使用技巧和注意事项,需要的朋友参考一下 为什么要写篇文章 这两天的开发中遇到一些需要代理才能解决的问题, 在这里记录一下, 方便以后的查阅. 为什么要用代理 跨域 在开发过程中, 我们的开发环境一般都是http:// localhost, 但是如果需要请求的数据不在本地, 那么我们就
如何使用Spring RestTemplate发送GET请求?其他问题都用了POST,但我需要用get。当我运行这个程序时,程序继续工作,但似乎网络堵塞了,因为它在一个AsyncTask中,当我单击这个按钮后试图运行另一个AsyncTask时,它们将无法工作。 我试着做
问题内容: 最近,我尝试了解 java.math.MathContext 的用法,但未能正确理解。它用于四舍五入。如果是,为什么不四舍五入十进制数字,甚至尾数部分。 从API文档中,我知道它遵循,和规范中指定的标准,但是我没有让他们在线阅读。 如果您对此有任何想法,请告诉我。 问题答案: @贾坦 谢谢您的回答。这说得通。您能否在BigDecimal#round方法的上下文中向我解释MathCont
主要内容:下载 Nexus 3,启动 nexus 服务,访问 nexus 3.x目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。 目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Maven 的支持越来越稳定,很多公司和组织都陆续开始使用 Nexus 3。 本节我们将介绍 Nexus
使用StaggedGridLayoutManager/GridLayoutManager如何使网格项在垂直方向上具有两个跨距,在水平方向上具有两个跨距?
本文向大家介绍arguments 的使用?相关面试题,主要包含被问及arguments 的使用?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: arguments是类数组对象,有length属性,不能调用数组方法 可用Array.from()转换
JsTestDriver 是 javascript 单元测试工具,webstorm 集成了 JsTestDriver ,可以直接使用。 1.在你的根目录中插入JsTestDriver的配置文件jsTestDriver.conf 内容可能如下:(根据本机目录的实际情况配置) server: http://localhost:9876 load: - assets/3.0/tools/jasmin