我一直在这里遇到障碍,我是一个新手编码器,也有点生疏。下面的代码在wordpress函数文件中完全有效,但我真的想从CSV文件验证vs输入2000行进行验证。
add_filter('frm_validate_field_entry', 'mobileform_custom_validation', 10, 3);
function mobileform_custom_validation($errors, $posted_field, $posted_value){
if($posted_field->id == 496){ //change 496 to the ID of the field to validate
if(!in_array($posted_value, array('001','002'))){ //change 001 and 002 to your allowed values
//if it doesn't match up, add an error:
$errors['field'. $posted_field->id] = 'Please contact us.';
}
}
return $errors;
}
答案 0 :(得分:2)
此行将csv文件的第一列放入数组中:
$list = array_map(function ($line) { return str_getcsv($line)[0]; }, file('../path_to/your_csv_file.csv'));
然后你必须在测试中使用它:
if(!in_array($posted_value, $list)){
您的代码将如下所示:
add_filter('frm_validate_field_entry', 'mobileform_custom_validation', 10, 3);
function mobileform_custom_validation($errors, $posted_field, $posted_value){
if($posted_field->id == 496){
$list = array_map(function ($line) { return str_getcsv($line)[0]; }, file('../path_to/your_csv_file.csv'));
if(!in_array($posted_value, $list)){
$errors['field'. $posted_field->id] = 'Please contact us.';
}
}
return $errors;
}
但是你必须通过替换
来正确设置csv文件的路径../path_to/your_csv_file.csv
通过CSV文件的真实路径。我不能为你做这部分。