验证动态WP表单中的必填字段

时间:2013-12-09 16:51:09

标签: php wordpress validation

所以我使用一个简单的字段数组创建一个表单:

    $fields = array(
    array(
        'label' => 'Name:',
        'id' => $meta.'_nhm_lead_name',
        'class' => 'field-name input', // optional
        'wrapper_class' => 'four columns', // optional
        'type' => 'text',
        'required' => true,
    ),
    );

然后使用如下所示的简单切换功能回显它们:

    public function make_fields(){

    foreach($this->fields as $field => $value){
        switch ($value['type']) {
            case 'text':
                $inputs .= '<li class="field '.$value['wrapper_class'].'">';
                if($this->labels == true){
                    $inputs .= '<label for="'.$value['id'].'">'.$value['label'].'</label>';
                }
                $inputs .= '<input type="text" name="'.$value['id'].'" class="'.$value['class'].'" />';
                $inputs .= '<span class="error-message"></span>';
                $inputs .= '</li>';
            break;
        }
    }
    }

我遇到的问题是,当我将它们发布到我的帖子处理表单时,我无法验证它们是否是必需的以及它们是什么类型的字段。我该怎么做?这也是为Wordpress构建的表单。

1 个答案:

答案 0 :(得分:0)

这将在客户端工作。

public function make_fields(){

foreach($this->fields as $field => $value){
    $required = "NULL";
      if($value['required'] == "yes") {
            $required = 'required="required"';   
        }
    switch ($value['type']) {
        case 'text':
            $inputs .= '<li class="field '.$value['wrapper_class'].'">';
            if($this->labels == true){
                $inputs .= '<label for="'.$value['id'].'">'.$value['label'].'</label>';
            }
            $inputs .= '<input type="text" $required name="'.$value['id'].'" class="'.$value['class'].'" />';
            $inputs .= '<span class="error-message"></span>';
            $inputs .= '</li>';
        break;
    }
}
}