如何检查html表单中的必填字段是否已填写?

时间:2008-12-22 21:49:30

标签: php javascript validation forms

我在php中有一个提交页面,其中包含指向同一页面的html表单。我希望能够检查表单中的必填字段是否未填写,以便我可以通知用户。我想知道如何使用php和javascript各自做到这一点。但是,我认为这是一个常见问题,所以欢迎任何其他答案。

4 个答案:

答案 0 :(得分:2)

签入部分php

    if(isset($_POST['save']))
    {
            $fields=array();
            $fields['Nimi']   = $_POST['name'];
            $fields['Kool'] = $_POST['school'];
            $fields['Aadress'] = $_POST['address'];
            $fields['Telefon'] = $_POST['phone'];
            $fields['Email'] = $_POST['email'];

            foreach ($fields as $key => $val)
            {   if(trim($val)=='')
                {   $errmsg=$key." is not filled!";
                    break;
                }
            }
    }

if($errmsg == '')
{ //do your saving here
  exit();
}

if(!isset($_POST['save']) || $errmsg != '')
{ //show your form here
 // and make it to return to the same page on submit
 //<input name="save" type="submit" value="Save" onclick="return true;">
}

答案 1 :(得分:1)

为了获得额外的功劳,一旦您知道如何在Riho和annakata的答案中使用PHP和JavaScript进行操作,那么构建一种在单个表单中定义字段约束的方法,可以将其呈现为用于客户端验证的JavaScript和在服务器上运行。

既然你需要两者(客户端为了方便用户,服务器端,因为我们现在真的非常信任客户端),从单一基础架构支持这两者似乎是一个不错的主意。 / p>

答案 2 :(得分:0)

就JS而言,你必须在提交前进行检查。通常,这涉及将一些验证函数绑定到表单的onsubmit事件触发器,并且验证函数将包含您感兴趣的每个字段的一些测试。

大多数JS库都有验证实现,可以为您完成大部分工作,听起来这对您来说可能是个好主意。谷歌搜索“客户端验证”将产生无限的结果,但这(我是图书馆不可知,阅读和自己选择)应该让你开始*:

http://blog.jquery.com/2007/07/04/about-client-side-form-validation-and-frameworks/

http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/

http://dojotoolkit.org/book/dojo-book-0-4/part-4-more-widgets/forms/validation

*这是教你钓鱼的计划

答案 3 :(得分:0)

LiveValidation库可以帮到你很多: http://www.livevalidation.com/