期待HTML5新规范中WebForm2.0的新特性 博客分类: IT HTML5AjaxXMLWeb工作
程序员文章站
2024-02-17 10:02:40
...
作为WEB开发者都知道,"任何输入都是罪恶的",页面上表单数据的录入是我们WEB系统的主要责任,但是安全有效的系统应该能够很好地处理输入数据正确格式的问题。
通常我们的解决方式主要是采用JS方式进行验证(类似email,手机号码,身份证,联系电话,上传文件等等),在企业开发过程中通常是同时兼任后台以及页面输入的开发工作,因此需要花费大量时间在前台的很平常的验证工作上。
最近在InfoQ网站上看到了让人欣喜的一幕就是HTML5新规范中对WebForm1.0进行了很大的改进工作,对于上述的平常的数据校验工作融入到了HTML语言中,直接以input属性的形式去控制,表单将自动验证,输入错误时表单自动不给提交。
比如说URL输入框,Email输入框等。
1、<input type="url"></input><input type="email"></input>
2、改进的文件上传控件,你可以使用一个控件上传多个文件,自行规定上传文件的类型(accept),你甚至可以设定每个文件最大的大小(maxlength)。
3、内建的表单校验系统,HTML5为不同类型的输入控件各自提供了新的属性,来控制这些控件的输入行为,比如我们常见的必填项required属性,以及为数字类型控件提供的max、min等。 而在你提交表单的时候,一旦校验错误,浏览器将不执行提交操作,而会显示相应的检验错误信息。
<input type="text" required></input><input type="number" min=10 max=100></input>
4、XML Submission,我们一般常见的是form的编码格式是application/x-www-form-urlencoded。开发人员都很清楚这种格式,数据送到服务器端,可以方便的存取。HTML5将提供一种新的数据格式:XML Submission,即application/x-www-form+xml。简单的举例说,服务器端将直接接收到XML形式的表单数据。
<submission>
<field name="name" index="0">Peter</field>
<field name="password" index="0">password</field>
</submission>
看到以上的易用性很是高兴,开发前台的工作量稍微降低了点,部分表单上的数据仍然需要进行后台数据库验证的则还是规规矩矩得去做,可以提交后后台验证或者是进行Ajax的验证。
不过后来想了想,这样简单的东西对于后续的学者能对WEB前台页面的校验学习不是很有好处,可能会对于内部的机制缺乏了解。
通常我们的解决方式主要是采用JS方式进行验证(类似email,手机号码,身份证,联系电话,上传文件等等),在企业开发过程中通常是同时兼任后台以及页面输入的开发工作,因此需要花费大量时间在前台的很平常的验证工作上。
最近在InfoQ网站上看到了让人欣喜的一幕就是HTML5新规范中对WebForm1.0进行了很大的改进工作,对于上述的平常的数据校验工作融入到了HTML语言中,直接以input属性的形式去控制,表单将自动验证,输入错误时表单自动不给提交。
比如说URL输入框,Email输入框等。
1、<input type="url"></input><input type="email"></input>
2、改进的文件上传控件,你可以使用一个控件上传多个文件,自行规定上传文件的类型(accept),你甚至可以设定每个文件最大的大小(maxlength)。
3、内建的表单校验系统,HTML5为不同类型的输入控件各自提供了新的属性,来控制这些控件的输入行为,比如我们常见的必填项required属性,以及为数字类型控件提供的max、min等。 而在你提交表单的时候,一旦校验错误,浏览器将不执行提交操作,而会显示相应的检验错误信息。
<input type="text" required></input><input type="number" min=10 max=100></input>
4、XML Submission,我们一般常见的是form的编码格式是application/x-www-form-urlencoded。开发人员都很清楚这种格式,数据送到服务器端,可以方便的存取。HTML5将提供一种新的数据格式:XML Submission,即application/x-www-form+xml。简单的举例说,服务器端将直接接收到XML形式的表单数据。
<submission>
<field name="name" index="0">Peter</field>
<field name="password" index="0">password</field>
</submission>
看到以上的易用性很是高兴,开发前台的工作量稍微降低了点,部分表单上的数据仍然需要进行后台数据库验证的则还是规规矩矩得去做,可以提交后后台验证或者是进行Ajax的验证。
不过后来想了想,这样简单的东西对于后续的学者能对WEB前台页面的校验学习不是很有好处,可能会对于内部的机制缺乏了解。
上一篇: Linux路由表