如何在 primefaces 的 p:message 中打印 javascript 警报消息

How to print javascript alert message in p:message of primefaces

Javascript 我的代码

function checkPasswordMatch() {
    var password = document.getElementById("password").value;
    var confirmPassword = document.getElementById("confirmPassword").value;

    if (password != confirmPassword){       
        alert("Passwords do not match!");
    }else{
        alert("Passwords match.");
    }
}

primefaces jsf代码

<h:form>
    <h:panelGrid columns="2" id="matchGrid" cellpadding="5">                   
        <h:outputLabel for="pwd1" value="Password 1: *" />
        <p:password id="pwd1" value="password"  label="Password" required="true" />
        <p:message for="pwd1"/>


        <h:outputLabel for="pwd2" value="Password 2: *" />
        <p:password id="pwd2" value="confirmPassword" onkeyup ="checkPasswordMatch();" label="Confirm Password" required="true" />
        <p:message for="pwd2"/>
    </h:panelGrid>

    <p:commandButton update="matchGrid" value="Save" />
</h:form>

我想在 p:message 中打印警告消息..可以这样做吗..??请帮助

您必须按照 PrimeFaces 用户指南告诉您的那样使用它。第一个 p:password 组件必须具有 match 属性,而不是第二个。

如果第二个 p:password 组件定义了 match,则会发生以下情况。当验证第一个 p:password 时,它提交的值被认为是有效的(这本身就已经是错误的),因此它被设置为 null,并设置了本地值。 p:password 匹配验证通过比较提交的值来工作。所以当验证第二个 p:password 它认为第一个组件根本没有填充,并声明不匹配。

有关本地值和提交值的更多信息 here