Javascript 如何使用bootstrapvalidation验证CKEditor?
使用带有Javascript 如何使用bootstrapvalidation验证CKEditor?,javascript,jquery,html,ckeditor,bootstrapvalidator,Javascript,Jquery,Html,Ckeditor,Bootstrapvalidator,使用带有bootstrapvalidator 0.5.2的CKEditor 4.5.6 我遵循了网站上的示例,但无法验证它 在Chrome浏览器中也出现JavaScript控制台错误(其他浏览器未检查),原因如下: 未捕获的TypeError:无法读取未定义的属性“getEditor” 以上错误仅在表单提交时显示。使用$加载PHP表单。加载(…)并使用$发布(…) 注意:-我无法在JSFIDLE中模拟错误。我想验证一下 CKEditor使用bootstrapvalidator $(documen
bootstrapvalidator 0.5.2的CKEditor 4.5.6
我遵循了网站上的示例,但无法验证它
在Chrome浏览器中也出现JavaScript控制台错误(其他浏览器未检查),原因如下:
未捕获的TypeError:无法读取未定义的属性“getEditor”
以上错误仅在表单提交时显示。使用$加载PHP表单。加载(…)
并使用$发布(…)
注意:-我无法在JSFIDLE中模拟错误。我想验证一下
CKEditor
使用bootstrapvalidator
$(document).ready(function() {
$('#setpolicyform').bootstrapValidator({
excluded: [':disabled'],
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
policyta: {
group: '.lnbrd',
validators: {
notEmpty: {
message: 'The Guidelines is required and cannot be empty'
},
callback: {
message: 'The Guidelines must be less than 50000 characters long',
callback: function(value, validator, $field) {
var div = $('<div/>').html(value).get(0),
text = div.textContent || div.innerText;
return text.length <= 50000;
}
}
}
}
}
}).find('[name="policyta"]')
.ckeditor()
.editor
.on('change', function() {
$('#setpolicyform').bootstrapValidator('revalidateField', 'policyta');
});
});
在JSFIDLE中添加了完整的代码
var编辑器;
$(文档).ready(函数(){
editor=CKEDITOR.replace('policyta'{
removePlugins:'sourcearea'
});
$('#setpolicyform')。bootstrapValidator({
消息:“此值无效”,
忽略:[':已禁用'],
反馈图标:{
有效:“glyphicon glyphicon ok”,
无效:“glyphicon glyphicon删除”,
正在验证:“glyphicon glyphicon刷新”
},
字段:{
政策a:{
组:'.lnbrd',
验证器:{
注意:{
消息:“指南是必需的,不能为空”
},
回拨:{
消息:“指南长度必须小于50000个字符”,
回调:函数(值,验证器,$field){
如果(值==''){
返回true;
}
var div=$('').html(值).get(0),
text=div.textContent | | div.innerText;
return text.length我希望这将对您有所帮助
您需要使用下面的编辑器版本(我不确定它是否适用于更高版本)
或者使用下面的代码
CKEDITOR.instances.policyta.updateElement();
你的方法中有几个错误
您不需要在textarea上启动CKEditor
,bootstrapValidator将为您执行此操作
您需要排除:[':disabled'],
不忽略:[':disabled'],
if(value==''){return true;}
在bootstrapValidator中使用的回调
函数中检查值,不需要它
注意事项:
formValidation和bootstrapValidator是两个不同的插件,因此一个插件代码引用在另一个插件中不起作用
您必须使用CKEditor
v4.2或更高版本(您已经在使用)
这是工作验证代码,CKEditor
与bootstrapvalidator
$(document).ready(function() {
$('#setpolicyform').bootstrapValidator({
excluded: [':disabled'],
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
policyta: {
group: '.lnbrd',
validators: {
notEmpty: {
message: 'The Guidelines is required and cannot be empty'
},
callback: {
message: 'The Guidelines must be less than 50000 characters long',
callback: function(value, validator, $field) {
var div = $('<div/>').html(value).get(0),
text = div.textContent || div.innerText;
return text.length <= 50000;
}
}
}
}
}
}).find('[name="policyta"]')
.ckeditor()
.editor
.on('change', function() {
$('#setpolicyform').bootstrapValidator('revalidateField', 'policyta');
});
});
$(文档).ready(函数(){
$('#setpolicyform')。bootstrapValidator({
已排除:[':已禁用'],
反馈图标:{
有效:“glyphicon glyphicon ok”,
无效:“glyphicon glyphicon删除”,
正在验证:“glyphicon glyphicon刷新”
},
字段:{
政策a:{
组:'.lnbrd',
验证器:{
注意:{
消息:“指南是必需的,不能为空”
},
回拨:{
消息:“指南长度必须小于50000个字符”,
回调:函数(值,验证器,$field){
var div=$('').html(值).get(0),
text=div.textContent | | div.innerText;
return text.length您是否检查了第二个解决方案(CKEDITOR.instances.policyta.updateElement();)?是的。没有更改:(我这样进行了验证,但控制台错误未捕获类型错误:无法读取未定义的属性“getEditor”。我不知道如何修复此错误。
$(document).ready(function() {
$('#setpolicyform').bootstrapValidator({
excluded: [':disabled'],
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
policyta: {
group: '.lnbrd',
validators: {
notEmpty: {
message: 'The Guidelines is required and cannot be empty'
},
callback: {
message: 'The Guidelines must be less than 50000 characters long',
callback: function(value, validator, $field) {
var div = $('<div/>').html(value).get(0),
text = div.textContent || div.innerText;
return text.length <= 50000;
}
}
}
}
}
}).find('[name="policyta"]')
.ckeditor()
.editor
.on('change', function() {
$('#setpolicyform').bootstrapValidator('revalidateField', 'policyta');
});
});