2017-02-09 43 views
0

在我的HTML表單中,有一個textarea,我想在其中添加驗證。驗證是這樣的,textarea應該有三個以上的字母,否則,這應該顯示一個錯誤信息。opencart中的tinymce textarea中的字符串長度驗證錯誤php

這裏是驗證部分(第二IF條件爲textarea

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代碼已經因此字符串的長度已經超過了信最小量。因此此驗證不起作用。

有人可以告訴我一個解決方案嗎?謝謝!

回答

1

如果tinymce HTML 編輯器的html代碼是恆定的,只需調整驗證代碼的字符串長度即可。

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

希望這會有所幫助。