如何设置Contact Form 7插件的文本字段以仅允许某些字符? 我希望这个字段只接受被认为是特殊字符的希腊字符。 有没有办法为此添加24个字符?
答案 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函数。
中找到与PHP相关的所有内容