联系人表单7:定制验证

时间:2013-12-18 作者:user1374796

我目前使用的是Contact Form 7插件,它很棒,工作也很完美,但我现在尝试使用它来实现一些自定义验证规则
我找到了此扩展名:http://code-tricks.com/contact-form-7-custom-validation-in-wordpress/ 曾经添加到functions.php 添加一系列额外的验证规则
例如:

$acceptNumbers = array(\'acceptNumber\', \'acceptNumber1\', \'acceptNumber2\', \'acceptNumber3\', \'acceptNumber4\', \'acceptNumber5\', \'acceptNumber6\');

foreach($acceptNumbers as $acceptNumber){
    if($name == $acceptNumber) {
        $acceptNum = $_POST[$acceptNumber];

        if($acceptNum != \'\') {
            if(ctype_digit($acceptNum)) {
                $result[\'valid\'] = true;
            } else {
                $result[\'valid\'] = false;
                $result[\'reason\'][$name] = \'Please Enter Only Numbers\';
            }
        }
    }
}
在短代码中调用,如下所示:[text* acceptNumber] 但我想验证的内容非常具体,我不确定如何实现。我将有一个文本字段,我希望它只包含一个单词,任何超过一个单词的内容都不会被接受,这一个单词必须以字母开头s. 我甚至不确定这是否可以实现,任何建议都将不胜感激!

1 个回复
最合适的回答,由SO网友:simonthesorcerer 整理而成

希望我做对了:

<?php

function specialValidation($value) {
    $explode = explode(\' \', $value);
    if(sizeof($explode) > 1) {
        echo \'ERROR: You have input more than one word.\';
        return;
    }
    $mustBeS = substr($explode[0],0,1);
    if($mustBeS != \'s\' && $mustBeS != \'S\') {
        echo \'ERROR: Your word must start with an "s" or "S".\';
        return;
    }
}

结束

相关推荐

我的服务器在类编辑器上有问题。Php/$Button

我的服务器在显示视觉和文本按钮时出现问题,按钮的代码根本就不存在,任何明显的解决方案都不起作用。//空白默认安装,无插件,默认主题//整个服务器上出现问题//不是wp配置。php问题/相关脚本等出于某种奇怪的原因,我的服务器无法处理$buttons 因此按钮不可见。有什么想法吗?可能是什么问题?这是PHP配置问题吗?我根本没有得到任何JS错误,所以几乎不知道如何修复它,因为源代码中只缺少代码。if ( self::$this_quicktags && self::$this_tinymce

联系人表单7:定制验证 - 小码农CODE - 行之有效找到问题解决它

联系人表单7:定制验证

时间:2013-12-18 作者:user1374796

我目前使用的是Contact Form 7插件,它很棒,工作也很完美,但我现在尝试使用它来实现一些自定义验证规则
我找到了此扩展名:http://code-tricks.com/contact-form-7-custom-validation-in-wordpress/ 曾经添加到functions.php 添加一系列额外的验证规则
例如:

$acceptNumbers = array(\'acceptNumber\', \'acceptNumber1\', \'acceptNumber2\', \'acceptNumber3\', \'acceptNumber4\', \'acceptNumber5\', \'acceptNumber6\');

foreach($acceptNumbers as $acceptNumber){
    if($name == $acceptNumber) {
        $acceptNum = $_POST[$acceptNumber];

        if($acceptNum != \'\') {
            if(ctype_digit($acceptNum)) {
                $result[\'valid\'] = true;
            } else {
                $result[\'valid\'] = false;
                $result[\'reason\'][$name] = \'Please Enter Only Numbers\';
            }
        }
    }
}
在短代码中调用,如下所示:[text* acceptNumber] 但我想验证的内容非常具体,我不确定如何实现。我将有一个文本字段,我希望它只包含一个单词,任何超过一个单词的内容都不会被接受,这一个单词必须以字母开头s. 我甚至不确定这是否可以实现,任何建议都将不胜感激!

1 个回复
最合适的回答,由SO网友:simonthesorcerer 整理而成

希望我做对了:

<?php

function specialValidation($value) {
    $explode = explode(\' \', $value);
    if(sizeof($explode) > 1) {
        echo \'ERROR: You have input more than one word.\';
        return;
    }
    $mustBeS = substr($explode[0],0,1);
    if($mustBeS != \'s\' && $mustBeS != \'S\') {
        echo \'ERROR: Your word must start with an "s" or "S".\';
        return;
    }
}

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请