opencart php中tinymce textarea中的字符串长度验证错误

时间:2017-02-09 08:13:30

标签: php validation

在我的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代码,因此字符串长度已超过字母最小量。因此这种验证无效。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以在验证中使用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的长度。

希望这有帮助。