1

我是 bootstrap 的初学者,我试图用 BootstrapValidator 构建一个 Xpage 来验证 inputText 但它不起作用,在代码源下面,我们可以帮我找到解决方案吗!

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xc="http://www.ibm.com/xsp/custom">
   <xp:this.resources>
   <xp:styleSheet href="/bootstrapValidator/css/bootstrap.css"></xp:styleSheet>
   <xp:styleSheet href="/bootstrapValidator/css/bootstrapValidator.css"></xp:styleSheet>
   <xp:script src="/JQueryXSnippet.js" clientSide="true"></xp:script>
   <xp:script src="/bootstrapValidator/js/bootstrap.min.js" clientSide="true">  </xp:script>
   <xp:script src="/bootstrapValidator/js/bootstrapValidator.js" clientSide="true"></xp:script>
    </xp:this.resources>
                <div class="col-md-5">
                <xp:inputText id="username" title=" username"></xp:inputText>
</div>

<xp:scriptBlock id="scriptBlock1">
<xp:this.value><![CDATA[$(document).ready(
function() {
        $("#{id:username}" ).bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            username: {
                message: 'The username is not valid',
                validators: {
                    notEmpty: {
                        message: 'The username is required and can\'t be empty'
                    },
                    stringLength: {
                        min: 6,
                        max: 30,
                        message: 'The username must be more than 6 and less than 30 characters long'
                    },
                    regexp: {
                        regexp: /^[a-zA-Z0-9_\.]+$/,
                        message: 'The username can only consist of alphabetical, number, dot and underscore'
                    }
                }
            } } });
              ]]></xp:this.value>
</xp:scriptBlock>

          </xp:view>
4

1 回答 1

3

使用与XPages 兼容的 jQuery 选择器 x$而不是原生的 jQuery $ 选择器。

也尝试使用XSP.addOnLoad()而不是(document).ready().

此外,名为“username”的 XPages xp:inputText 字段在浏览器中有一个名为“view:_id1:_id2:_id8:username”的 id。因此,如您的 bootstrapValidator 字段定义中所述,它不称为“用户名”。因此 bootstrapValidator 无法找到该字段。尝试将此添加到您的 scriptBlock 而不是"username: {"

#{id:username}: { 
于 2017-01-26T07:21:25.377 回答