Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用操作前的JSF1.2 commandButton验证_Javascript_Jquery_Jsf_Jsf 1.2 - Fatal编程技术网

Javascript 调用操作前的JSF1.2 commandButton验证

Javascript 调用操作前的JSF1.2 commandButton验证,javascript,jquery,jsf,jsf-1.2,Javascript,Jquery,Jsf,Jsf 1.2,我有一个命令按钮: <h:commandButton onclick="validate();" action="#{method.exitBtn}" value="Move File"></h:commandButton> 但是,该警报从未显示。我使用的是JSF1.2,您似乎没有理解JSF的要点。JSF提供组件来生成HTML输出,并提供整个生命周期来执行收集提交的值、转换和验证它们并将它们设置为bean属性。默认情况下,当JSF管理的验证失败时,不会调用JSFbea

我有一个命令按钮:

<h:commandButton  onclick="validate();" action="#{method.exitBtn}" value="Move File"></h:commandButton>

但是,该警报从未显示。我使用的是JSF1.2,您似乎没有理解JSF的要点。JSF提供组件来生成HTML输出,并提供整个生命周期来执行收集提交的值、转换和验证它们并将它们设置为bean属性。默认情况下,当JSF管理的验证失败时,不会调用JSFbean操作

请按照以下基本示例重写您的表单:

<h:form>
    <h:selectOneMenu value="#{bean.amount}" required="true">
        <f:selectItem itemValue="#{null}" itemLabel="Select Amount" />
        <f:selectItem itemValue="A" />
        <f:selectItem itemValue="B" />
        <f:selectItem itemValue="C" />
        <f:selectItem itemValue="D" />
        <f:selectItem itemValue="E" />
    </h:selectOneMenu>
    <h:commandButton value="Submit" action="#{bean.submit}" />
    <h:messages />
</h:form>
JSF提供的required=true属性将根据需要验证输入组件。如果验证失败,任何消息都将显示为与组件相关联的消息,或如示例所示的一般消息


不需要jQuery/JS验证,当客户端禁用JS时,jQuery/JS验证无论如何都不会工作。如果您真的想坚持使用纯HTML/JS,那么您应该重新考虑为什么要使用JSF。另请参见《对不起,我是JSF新手》的可能副本。在上面的示例中,itemValue所在的位置,如何包含£symbol?我试过了&镑;在我的按钮中有一个creditLimit.exitButton操作,在您的示例中它到哪里去了?1只需使用UTF-8并保存/服务即可!。2只需替换示例中的{bean.submit}。顺便问一下,如果您刚刚开始一个新项目,您是否知道JSF1.x基本上是一种过时的技术,因为它在5年多前已经升级到JSF2.x了?如果没有,您确定您正在阅读关于JSF的最新书籍/教程/资源吗?否则,您只会在混乱中结束,因为许多事情是以不同的方式完成的:在JSF2.x中更好。如果我使用commandLink而不是Button,同样的逻辑会适用吗?链接似乎不起作用。如果我改为commandLink,我会得到错误类型错误:f在浏览器Firefox中为空
function validate() {
    alert("you clicked!");
}
<h:form>
    <h:selectOneMenu value="#{bean.amount}" required="true">
        <f:selectItem itemValue="#{null}" itemLabel="Select Amount" />
        <f:selectItem itemValue="A" />
        <f:selectItem itemValue="B" />
        <f:selectItem itemValue="C" />
        <f:selectItem itemValue="D" />
        <f:selectItem itemValue="E" />
    </h:selectOneMenu>
    <h:commandButton value="Submit" action="#{bean.submit}" />
    <h:messages />
</h:form>
public class Bean {

    private String amount; // +getter+setter

    public void submit() {
        System.out.println("Submitted amount: " + amount);
        // ...
    }

    // ...
}