2017-02-09 17 views
0

私のHTMLフォームにはtextareaがあり、それにバリデーションを追加したいと思います。検証は次のようになります。textareaには3文字以上が必要です。そうでない場合は、エラーメッセージが表示されます。ここでopencartのtinymce 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コードを持っていることです。したがって、この検証は機能しません。

誰かが私にこの解決策を教えてもらえますか?ありがとうございました!

答えて

1

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になります。

これが役に立ちます。