3

我正在使用引导验证器插件来验证我的表单客户端,并且在重新验证summernote textarea 时似乎失败了。它第一次验证,但是当文本更新时,验证不会更新。

这是验证(剪掉其他验证字段

function validateEditor() {
    // Revalidate the content when its value is changed by Summernote
    $('#application-form').bootstrapValidator('revalidateField', 'application'));
};

$('.application-form')
    .bootstrapValidator({
        excluded: [':disabled'],
        fields: {
            application: {
                validators: {
                    callback: {
                        message: 'Please do not leave this blank.',
                        callback: function(value, validator) {
                            var code = $('[name="application"]').code();
                            // <p><br></p> is code generated by Summernote for empty content
                            return (code !== '' && code !== '<p><br></p>');
                        }
                    }
                }
            }
        }
    }).on('success.form.bv', function(e) {

        e.preventDefault();
        console.log('Form successfully validated.');


    })
    .find('[name="application"]')
        .summernote({
            height: 400,
            onkeyup: function() {

                validateEditor(); // Revalidate form onkeyup

            },
            onpaste: function() {

                validateEditor(); // Revalidate form on paste

            },

        });

这是标记(再次从其他字段中截取)

<div class="form-group">        

    <textarea name="application"></textarea>

</div>

这是一个大问题,因为如果第一次将 textarea 留空,则永远无法重新提交表单,因为当用户修复错误时验证不会更新。

4

1 回答 1

-1

我遇到了同样的问题,但是 FormValidation.io 是一个非常相似的插件。

解决方案:我的 textarea 具有该required属性。我删除了它并bam,问题解决了。

现在,如果这不能直接解决您的问题,我真的很抱歉,您的代码显然没有该required属性,但我只是想我还是会与其他人分享,因为这让我发疯了好几个小时这是关于这个问题的最相关的帖子。

就这些。

于 2015-04-08T09:44:14.657 回答