OpenCart PHP 中 Tinymce 文本区域中的字符串长度验证错误



在我的HTML表单中,他们的是一个textarea,我想在其中添加验证。验证是这样的,textarea应该有三个以上的字母,否则,这应该显示一条错误消息。

这是验证部分(textarea的第二个IF条件(

foreach ($this->request->post['information_description'] as $language_id => $value) {
        if ((utf8_strlen($value['title']) < 3) || (utf8_strlen($value['title']) > 64)) {
            $this->error['title'][$language_id] = $this->language->get('error_title');
        }
        if (utf8_strlen(trim($value['description'])) < 3) {
            $this->error['description'][$language_id] = $this->language->get('error_description');
        }
        if ((utf8_strlen($value['meta_title']) < 3) || (utf8_strlen($value['meta_title']) > 255)) {
            $this->error['meta_title'][$language_id] = $this->language->get('error_meta_title');
        }
    }

但问题是tinymce HTML 的东西已经有一个小的 HTML 代码,所以字符串长度已经超过了字母最小数量。 因此,此验证不起作用。

有人可以告诉我解决方案吗?谢谢!

如果 tinymce HTML 编辑器的 html 代码是常量,只需调整验证代码的字符串长度即可。

你可以在验证中使用PHP的strip_tags函数(http://www.w3schools.com/php/func_string_strip_tags.asp(。在这种情况下,它只会检查没有 html 标签的输入文本。

Tinymce将发送<p>lorem ipsum</p>,当您在验证代码验证中使用strip_tags($value['meta_title'])时,验证将仅检查lorem ipsum的长度。

希望这有帮助。

最新更新