如何用想象中的 required="true" 来验证 h:outputLink 的点击?

How to validate click of h:outputLink with imagined required="true"?

我正在尝试在我的 Link 中进行验证。当用户单击 commandButton 而不单击 outputLink 时,用户会收到一条错误消息。我正在使用 required="true" 但它不起作用。

<h:form>
    <h:outputLink value="https://www.google.com/" required="true">test</h:outputLink>
    <h:commandButton value="Submit"    action="#{userTest.test()}"/>
</h:form>

将所需的隐藏输入与 link 相关联并通过 JS 设置其值。

这是一个启动示例,假设隐藏输入是 link 的第一个兄弟。

<h:form>
    <h:outputLink 
        value="http://google.com" 
        target="_blank"
        onclick="this.nextSibling.value=true">test</h:outputLink>
    <h:inputHidden 
        required="true" 
        requiredMessage="You need to click that link!" />
    <h:commandButton value="submit" />
    <h:messages />
</h:form>