如何在p:工具提示中的p:消息中添加换行符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在p:工具提示中的p:消息中添加换行符相关的知识,希望对你有一定的参考价值。

我试图在密码字段应该具有的规则列表之间放置一个换行符:

希望此代码可以帮助您在本地计算机上重现它

我的JSF表单看起来像:

<h:form id="passwordForm">
     <div class="form-group has-feedback">
        <p:password id="password1" value="#{testBean.password}"
                    required="true"
                    requiredMessage="This field cannot be left empty"
                    placeholder="Password">
        </p:password>
        <p:tooltip for="password1"  id="password1ToolTip"
                   hideEvent="focus"
                   rendered="#{not empty facesContext.getMessageList('passwordForm:password1')}"
                   position="right" hideEffect="fade" showEffect="fade">
            <p:message for="password1"/>
        </p:tooltip>
    </div>
</h:form>

这是我的bean看起来的样子:

@Named
@RequestScoped
public class TestBean implements Serializable {

    private static final long serialVersionUID = 2016821444602021904L;


    @Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,}", 
    message = "Password should contain minimum 8 characters, 1 Uppercase alphabet, 1 lower case alphabet and 1 special character")
    @Size(min = 8, message = "Password cannot be this short!")
    private String password;

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

}

基于SO的一些答案,我尝试通过引入特殊实体代码&#13;[![&#10;][1]][1]来修改验证消息,如下所示:

Password should contain&#13;Minimum 8 characters&#13;1 Uppercase alphabet&#13;&#10; 1 lower case alphabet and 1 special character

注意:此附加图像可能不会显示在几个浏览器This is how the the tooltip looks

答案

为什么要在额外的工具提示中显示消息?看起来有点奇怪。

无论如何,你需要的是一个<br/>,你想要换行,并在你的p:消息中设置escape =“false”。

信息:

Password should contain&#13;Minimum 8 characters&#13;1 <br/> Uppercase Password...

Xhtml

<p:message for="password1" escape="false"/>

UPDATE1:

感谢Parkash Kumar提供更多信息以改善答案。

UPDATE2:

您也可以使用CSS和/n进行换行,然后您需要申请:

#messages td { white-space: pre; }

到你的CSS。

以上是关于如何在p:工具提示中的p:消息中添加换行符的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在 .NET 框架表单的工具提示中添加换行符

在工具提示中添加换行符

如何永久显示p:工具提示?

vs code 自定义代码片段

怎么在jq中的html()中添加换行或者空格符

Java中的多行工具提示?