我现在正在使用CKEditor5
textarea是:
<textarea class="form-control" name="post_content" rows="10" cols="30" id="editor"></textarea>
我想设置这个不能为空的字段,所以尝试了我需要的&#39;属性,但它使表单无法发送出去(到数据库)。
然后我试图阻止我的表单将内容发送到数据库,如果它是空的:(PHP)
if(!empty($post_content))
{
...create query and send query to database...
}
else
{
do nothing
}
但是,我仍然可以向数据库发送空内容。
因为它会向数据库发送一些html标签,即使我提交了一个空内容。
在数据库中,我可以看到列单元格中存储了html标签,如
<p></p>
使用CKEditor进行输入时,它依赖于字体样式。它也可以是<i></i>
还有其他方法可以解决这个问题吗?
答案 0 :(得分:2)
有同样的问题,想出了这个:
if(preg_match("/[a-z]/i", strip_tags($post_content))){
}
完成了我的所有测试。如果有人按下输入几次然后提交,则单独的条带标签会失败。这只检查你是否至少有一个a-z,你可能想要更严格,并且有最低限度,或只允许数字,但我们不确切地知道你在这里的期望,所以它是最好的猜测。
答案 1 :(得分:0)
if ($("#editor").val()) {
// textarea is not empty
//...create query and send query to database...
}
else{
//do nothing
}
您还可以使用$ .trim删除空格:
if ($.trim($("#editor").val())) {
// textarea is not empty or not contains white-space
//...create query and send query to database...
}
else{
//do nothing
}