繁体   English   中英

每次用户添加或删除字符数据表primeface时验证输入

[英]validate input each time the user add or remove character datatable primefaces

我在我的数据表中有这个列,我希望每次用户在我测试的输入中添加或删除一个字符时验证它:

<p:column headerText="Quantité" style="width:20%">
                        <p:cellEditor>
                            <f:facet name="output">
                                <h:outputText value="#{arti.qte}" />
                            </f:facet>
                            <f:facet name="input">
                            <h:panelGroup>
                                    <p:inputText 
                                    value="#{arti.qte}"   >
                                <p:ajax event="keyup" listener= "#{mvmtdepotMB.keyupQte}" />
                                <f:validateDoubleRange minimum="0.1" maximum="#{arti.qtemax}"  />
                                </p:inputText>
                                <p:message  for="qdf" />
                            </h:panelGroup>

                            </f:facet>
                        </p:cellEditor>
                    </p:column>

但是没有调用keyup方法,验证也没有

我怎么能实现这一点

你应该检测p:inputText的keyup事件:

<p:inputText value="#{arti.qte}" onkeyup="validate()"/>

这将执行p:remoteCommand

<p:remoteCommand name="validate" actionListener="#{mvmtdepotMB.keyupQte}"/>

p:remoteCommand放在p:dataTable

如果要将参数传递给p:remoteCommand

onkeyup="validate([{name: 'name1', value: 'value1'}, {name: 'name2', value: 'value2'}]);"

并且p:remoteCommand actionListener可以通过以下方式检索这些:

FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String name1 = (String) map.get("name1");
String name2 = (String) map.get("name2");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM