通知用户他们错过了表单中的特定输入字段

时间:2015-08-11 21:28:31

标签: php forms

我正在尝试创建一个表单,如果用户没有在特定输入中输入信息,那么在提交表单时,用户会被警告只填写该输入字段(例如“请输入用户名”)

目前我有一个 foreach循环,循环遍历表单的每个输入字段,并指定一个与字段同名的变量(即$ name = $ _POST ['name'])。

我会在代码中实现什么,以便我可以检查每个单独的输入字段是否为空并告诉用户这一点,但是将代码保持在最低限度?

<xp:this.beforePageLoad><![CDATA[#{javascript:
    var myTest = []; 
    for (var i=0; i<9; i++) {
        myTest[i] = i; 
    } 
    viewScope.myTest = myTest;
}]]></xp:this.beforePageLoad>
<xp:repeat
    id="repeat1"
    rows="30"
    var="row"
    value="#{viewScope.myTest}">
    <xp:text
        escape="true"
        id="computedField1"
        value="#{javascript:row.toString()}">
    </xp:text>
    <br />
</xp:repeat>

1 个答案:

答案 0 :(得分:0)

虽然我不同意您的做法,但解决方案是在您的第一个array循环中添加错误foreach

foreach ($_POST as $key => $value) {
     ${$key} = $_POST[$key];

     // If the field is empty, set an error
     if( empty($value) ) {
         $errors[] = 'Please enter a ' . $key . '.';
     }
}

然后更改底部以检查错误array。如果它为空,请运行您的代码以完成表单提交。如果没有,请循环错误。

if( empty($errors) ) {
    //code if all fields are not empty
}
else {
    // Loop through each error found
    foreach($errors as $error) {
        echo $error;
    }
}