本节展示如何制作必填输入字段,并创建需要时所用的错误消息。
PHP - 输入字段

从上一节中的验证规则中,我们看到 “Name”, “E-mail” 以及 “Gender” 字段是必需的。这些字段不能为空且必须在 HTML 表单中填写。

在上一节中,所有输入字段都是可选的。

在下面的代码中我们增加了一些新变量:$nameErr、$emailErr、$genderErr
以及 $websiteErr。这些错误变量会保存被请
求字段的错误消息。我们还为每个 $_POST 变
量添加了一个 if else 语句。这条语句检查
$_POST 变量是否为空(通过 PHP empty() 函数)
。如果为空,则错误消息会存储于不同的错误变量中。
如果不为空,则通过 test_input() 函数发送用户输入数据:
<?php
// 定义变量并设置为空值
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";if ($_SERVER["REQUEST_METHOD"] == "POST") {if (empty($_POST["name"])) {$nameErr = "Name is required";} else {$name = test_input($_POST["name"]);}if (empty($_POST["email"])) {$emailErr = "Email is required";} else {$email = test_input($_POST["email"]);}if (empty($_POST["website"])) {$website = "";} else {$website = test_input($_POST["website"]);}if (empty($_POST["comment"])) {$comment = "";} else {$comment = test_input($_POST["comment"]);}if (empty($_POST["gender"])) {$genderErr = "Gender is required";} else {$gender = test_input($_POST["gender"]);}
}
?>

PHP - 显示错误消息

在 HTML 表单中,我们在每个被请求字段后面增加了一点脚本。如果需要,会生成恰当的错误消息(如果用户未填写必填字段就试图提交表单):
实例

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
<label>Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit"> </form>

接下来是验证输入数据,即“Name 字段是否只包含字母和空格?”,以及“E-mail 字段是否包含有效的电子邮件地址语法?”,并且如果填写了 Website 字段,“这个字段是否包含了有效的 URL?”。

19. PHP 表单验证 - 必填字段相关推荐

  1. java 字段验证_Selenium-Gherkin-Java:验证必填字段上的文本

    简短版:我有一个必填字段,显示"此字段是必需的"的元素可以包含多个消息.我正在努力设置我的BDD功能步骤.页面和步骤文件,以验证是否显示了正确的消息. 长版: 对Java/Sele ...

  2. iview/view UI 表格+表单提交必填验证简单方案

    在项目中,经常遇到表单嵌入表格的情况,因此必填验证的需求就比较麻烦了,记录下解决方案,先来上一张效果图:  先简单说下实现原理,这个是view UI form-item的源码: 重点就是框住的地方,g ...

  3. js表单验证,多字段长度校验

    在开发中,有时会遇到几十或一百多甚至更多的字段都需要做长度校验.我们不可能一个字段一个字段的去写,然后我发现input中有maxLength属性可以做到类似的,但是问题是中文字符占2个长度,使用max ...

  4. js(jquery)提交表单,必填内容为空,边框变红

    求教 jquery点 击提交 判定input的表单内容为空 ,边框显示红色 js验证非空后,输入框边框变红,如果输入正确怎么让边框恢复到默认的颜色?

  5. 没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!

    FormBuilder 是一个开源的PHP表单生成器,可以快速生成现代化的form表单.还可以配合开源项目 xaboy/form-create 生成任何 Vue 组件 github | 文档 环境需求 ...

  6. DWZ表单验证规则一览表

    required-validate       //开启表单验证 必填: class="required" 必填+邮箱: class="required email&qu ...

  7. 验证必须是数字php,Element 中表单非必填数据项 必须为数字的验证问题

    Element-ui 的el-form组建中,自带基本的验证功能,比如某些项必填的验证,直接加入rules 规则中即可,如下实例: 在页面中书写如下: 在vue 初始化data中 filterForm ...

  8. Angularjs总结(一)表单验证

    常用的表单验证 1.必须字段 html5特性 增加required <input type="text" required /> 2.最小长度和最大长度 <inp ...

  9. 一款比较实用齐全的jQuery 表单验证插件

    一款比较实用,并且验证类型齐全的jQuery表单验证插件.英文版原作者@Vanadium,由我做中文整理.E文水平有限,如果翻译的有问题的,请大家指出,在此感谢~ 可以验证哪些? 文字,日期,邮箱,网 ...

  10. go实践二十 web开发--表单唯一token 表单验证 防止xss攻击 上传文件 cookie处理

    新建一个 testform2.gtpl 文件,内容如下: <!doctype html> <html lang="en"> <head>< ...

最新文章

  1. 描述C#多线程中 lock关键字
  2. Annotataion
  3. 爱情第五课,终极选择题
  4. 《C++ Primer》7.5.1节练习
  5. AcWing 1381. 阶乘
  6. oracle 根据用户备份,Oracle基于用户的备份及恢复
  7. 【Android】Windows环境安装Android Studio教程
  8. SQL Server检索存储过程的结果集
  9. 输出一行星花 1110 java
  10. ppt录制宏_Word中录制宏,学会后成大神
  11. 【报告分享】2020年中国金融科技企业领袖观点洞察报告.pdf(附下载链接)
  12. Windows python tensorflow 安装
  13. 计算机中的基础元素,数据结构基础
  14. Linux 邮件服务器 之跟我一步一步来实现一个邮件系统
  15. readelf的使用
  16. 如何将c语言编译成动态链接库,将C语言源代码编译成动态链接库
  17. GitHub的安装及使用
  18. kali破解无线WIFI密码
  19. IDEA使用Maven构建Spring+SpringMVC+MyBatis整合项目demo成功执行但控制台Tomcat Locahost log输出No Spring WebApplicationIn
  20. 爬取虎扑nba球员得分榜信息并存储至MongoDB数据库

热门文章

  1. sql union用法和sql union all用法,sql union效率
  2. 载入样式表单出错: 分析 XSLT 样式表单失败
  3. 数据可视化—如何利用”奶牛“,把图组合起来
  4. php-cs-fixer不起作用,使用 PHP-CS-Fixer 规范PHP代码
  5. datagrip 自动展示库名_DataGrip 2018.1.4 功能强大的多引擎数据库管理工具
  6. Ops.CI/CD-持续交付概要笔记
  7. MongoDB驱动程序快速入门
  8. 求数组子序列和最大值
  9. 有些事,我们逃不掉。有些事,我们逃不掉。
  10. Http 请求处理流程[转]