我目前使用的是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
. 我甚至不确定这是否可以实现,任何建议都将不胜感激!
最合适的回答,由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;
}
}