联系表格7仅接受某些字符

时间:2014-06-05 20:53:58

标签: regex

如何设置Contact Form 7插件的文本字段以仅允许某些字符? 我希望这个字段只接受被认为是特殊字符的希腊字符。 有没有办法为此添加24个字符?

2 个答案:

答案 0 :(得分:1)

联系表格7版 4.5.1 。它为我工作。

//code to validate textbox
function custom_text_validation_filter($result, $tag) {  
      $type = $tag['type'];  
      $name = $tag['name'];
      //here textbox type name is 'subject'
      if($name == 'subject') { 
          $value = $_POST[$name];  
          if (preg_match('/[\'^£$%&*()}{@#~><>|=_+¬]/', $value)){
            $result->invalidate( $tag, "Invalid characters." );
          } 
      } 
      return $result;  
}
add_filter('wpcf7_validate_text','custom_text_validation_filter', 10, 2); 
add_filter('wpcf7_validate_text*', 'custom_text_validation_filter', 10, 2); 

//code to validate textarea
function custom_textarea_validation_filter($result, $tag) {  
      $type = $tag['type'];  
      $name = $tag['name'];
      //here textarea type name is 'message'
      if($name == 'message') { 
          $value = $_POST[$name];  
          if (preg_match('/[\'^£$%&*()}{@#~><>|=_+¬]/', $value)){
            $result->invalidate( $tag, "Invalid characters." );
          } 
      }
      return $result;  
}
add_filter('wpcf7_validate_textarea','custom_textarea_validation_filter', 10, 2); 
add_filter('wpcf7_validate_textarea*', 'custom_textarea_validation_filter', 10, 2); 

答案 1 :(得分:0)

很有可能,正如其他人已经证明可以定制它一样。

首先注册你的回调方法:

//add fiter for text area validation
add_filter( 'wpcf7_validate_textarea', 'cf7_custom_textarea_validation', 10, 2 );
add_filter( 'wpcf7_validate_textarea*', 'cf7_custom_textarea_validation', 10, 2 );

在回调中,进行验证:

function cf7_custom_form_validation($result, $tag) 
{
    $type  = $tag['type'];
    $name  = $tag['name'];
    $value = $_POST[$name];

    ...

    if ($type == 'yourtype*' &&  !preg_match($your_regex, $value)) {
        $result['valid'] = false;
        $result['reason'][$name] = __('message for your regex not matching');
    }

    ...

请参阅此处的示例代码:

在此处阅读示例博客:

联系方式7支持可在此处获取:http://wordpress.org/support/plugin/contact-form-7

您可以在http://codex.wordpress.org/中找到所有Wordpress API函数。

您可以在http://php.net/docs

中找到与PHP相关的所有内容