如何通过b:commandButton中的oncomplete函数来验证我的表单是否有效?

时间:2018-12-20 00:22:16

标签: jsf bootsfaces

我正在使用Maven存储库中的bootsfaces 1.3.0,并且尝试使用文档(https://showcase.bootsfaces.net/forms/commandButton.jsf)中的commandButton示例:

<b:commandButton 
    value="Ajax Modal" 
    ajax="true" 
    update="form:inform amodal" 
    look="inverse"
    oncomplete="if(validationFailed) alert('Please enter valid input before opening the modal'); else $('#amodal').modal('show')" />

失败,因为它说没有定义validationFailed。有人可以帮助我向我展示如何执行此操作或向我展示文档中的解释内容吗?

我正在尝试在b:modal上构建更改密码的功能,以验证实际密码并检查新密码的有效性。

我尝试使用隐式对象facesContext,并检查了是否也可以在bootfaces中使用素数的答案(args.validationFailed)。

这是我的代码:

<b:commandButton
    value="Change Password"
    action="#{user.changePassword()}"
    ajax="true"
    update="@Form"
    oncomplete="handleDialogSubmit(validationFailed)" />

1 个答案:

答案 0 :(得分:2)

JavaScript变量validationFailed必须由BootsFaces提供。为此,必须使用<b:fetchBeanInfos />组件。它获取服务器的信息,并使其在客户端“可见”。

请参见https://showcase.bootsfaces.net/forms/FetchBeanInfos.jsf