我已经成功地运行了jquery验证和summernote一段时间。
它正在运行,现在我在form.valid()上收到错误。注释字段不需要验证。
我已经将我的代码剥离到最低限度,并削减了忽略设置 - 如果我删除了忽略设置它是否有效,如果我忽略设置,它会中断,使用"验证器未定义&#34 ;错误
我已经设置了一个小提琴,所以你可以看到它工作而不工作,它目前设置不起作用
http://jsfiddle.net/JGuymer/83q0r21s/22/
<form id="form">
<textarea id="textarea"></textarea>
<a id="clickme" href="#">click Me</a>
</form>
的JQuery:
$(document).ready(function() {
$("#textarea").summernote();
//uncomment to work
//$('#form').validate();
//uncomment to fail
$('#form').validate({ignore:[]})
$("#clickme").click(function(){
validate();
return false;
})
});
function validate() {
if ($('#form').valid()) {
alert('valid');
}
}
任何想法都将不胜感激
由于 詹姆斯
答案 0 :(得分:3)
我有类似的问题。
首先,您可以将jquery.validate
设置为忽略隐藏字段(IIRC,summernote有很多),除了您要验证的字段:
$.validator.setDefaults({ ignore: ":hidden:not(.class-of-hidden-field-i-want-to-validate-1, class-of-hidden-field-i-want-to-validate-2, class-of-hidden-field-i-want-to-validate-3...) });
为我修好了。
此外,每当我与添加链接的模态对话框(summernote v0.5.10)进行交互时,我都会
Uncaught TypeError: Cannot read property 'settings' of `undefined`
on jquery.validate.js:360
。
看着summernote.js
我可以拥有:
var tplDialog = function (className, title, body, footer) {
return '<div class="' + className + ' modal" aria-hidden="false">' +
'<div class="modal-dialog">' +
'<div class="modal-content">' +
(title ?
'<div class="modal-header">' +
'<button type="button" class="close" aria-hidden="true" tabindex="-1">×</button>' +
'<h4 class="modal-title">' + title + '</h4>' +
'</div>' : ''
) +
'<form class="note-modal-form">' + // ERROR CAUSE
'<div class="modal-body">' +
'<div class="row-fluid">' + body + '</div>' +
'</div>' +
(footer ?
'<div class="modal-footer">' + footer + '</div>' : ''
) +
'</form>' + // ERROR CAUSE
'</div>' +
'</div>' +
'</div>';
};
我的(临时)修复正在用form
标记的行中的div
替换// ERROR CAUSE
。也许我错过了一些东西,但我并没有真正看到将其作为一种形式的重点。
不建议更改此代码(您可能希望更新到更新版本,从而丢失更改...),但这是一个足够好的修复,直到他们解决它。
答案 1 :(得分:2)
我遇到了同样的问题。 我将问题追溯到名为&#39; note-modal-form的子表单。 为了解决这个问题,我在初始化部分添加了以下内容:
var validateform = function () {
$('.note-modal-form').each( function() { $(this).validate({}) });
...
答案 2 :(得分:0)
我遇到了同样的问题,事实证明,summernote隐藏了没有名字的字段。验证失败,您可以忽略字段或只是转到summernote js js代码并添加名称,就像我一样。 希望这会有所帮助。
输入字段用于弹出summernote的模式,例如添加你的内容。