Поле Summernote Bootstrap Validator не переоценивается
Я использую плагин средства проверки начальной загрузки для проверки моей клиентской части формы, и, похоже, он не работает при повторной проверке текстовой области summernote. Это проверяет в первый раз, но когда текст обновляется, проверка не обновляется.
Вот проверка (вырезаны другие поля проверки)
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>
Это огромная проблема, потому что если текстовое поле оставить пустым в первый раз, форма никогда не будет отправлена повторно, так как проверка не обновляется, когда ошибка исправлена пользователем.
1 ответ
У меня была такая же проблема, но с FormValidation.io, который очень похож на плагин.
Решение: моя текстовая область имела required
приписывать. Я удалил его и бац, проблема решена.
Теперь я искренне сожалею, если это не является прямым решением вашей проблемы, ваш код, очевидно, не имеет required
атрибут, но я просто думал, что я все еще поделюсь с другими людьми, потому что это сводило меня с ума в течение нескольких часов, и это был самый важный пост об этой проблеме здесь.
Это все.