所以我使用一个简单的字段数组创建一个表单:
$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构建的表单。
答案 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;
}
}
}