你是否经常碰到在填写表单时,提交无数次却还是无法通过校验的情况;或者你是否在为不知道填写中哪里出现错误而抓狂;再或者你是否碰到过当你填写了一大堆信息,之后点击按钮提交时,校验报错的同时,你发现你所填写的所有的信息都被清空;或者你还碰到过很多很多校验当中出现的问题,那么我们现在就开始进行表单校验设计的思考。
那校验有哪些情况呢?
1、 READY?
提到校验,我们往往会联系到提交表单后出现的错误提示类信息,但是其实在填写表单前的提示信息与表单填写校验有着莫大的关系。
此类提示信息能够帮助用户在填写表单前,降低出错的可能性。它出现的形式分为以下几类:
a) 简要提示——有如:icon,icon+文字,文字,暗提示。
出现情况:一般提示信息比较简短,能够让用户一目了然的记住,并且不干扰表单的填写项。
alipay.com付款页面
alibaba.com注册
b) 复杂提示——以缩略信息或icon来显示,通过点击和hover进行查看。
出现情况:提示信息内容较多,需要用户仔细阅读,并且无法简单记忆,直接全部显示会影响整个表单填写,因此此类情况需要hover或者点击操作进行查看。hover或者点击后有浮层,蒙板,或者跳转新页面等情况。
taobao.com机票登机人填写页
ctrip.com机票登机人填写页
c) 限制操作——在表单填写前,对某些需要填写或者操作项会有一些disabled的状态,只有当某些条件被激活用户才能进行操作。
出现情况:当填写项与项之间带有关联性,前面的填写项会影响后面填写项的内容或状态;或当填写项较少,填写项均可以即时校验,就可以将主提交操作项做状态限制。
livestream.com机票登机人填写页
d) 其他提示——填写表单的时候,还有一种比较特殊但又更简单明了的提示,例如:使用图片说明。
出现情况:当填写表单项的提示说明很难用文字清晰表述,这时候可以使用图片,视频等辅助方式来帮助用户快速理解。
alipay.com水电煤缴费页面
2、 ING~
当您浏览完整体的表单,接下来就是进行填写的步骤。在填写的过程中,我们会碰到很多类型的校验,比如:即时校验的友情类提示,即时校验的警示提示,关联性校验的提示。即时的校验也分为三种状态一种是on focus后的帮助提示、输入中的校验、lost focus后的校验。
出现情况:提示信息内容较多,需要用户仔细阅读,并且无法简单记忆,直接全部显示会影响整个表单填写,因此此类情况需要hover或者点击操作进行查看。hover或者点击后有浮层,蒙板,或者跳转新页面等情况
a) 即时校验的友情类提示
即时校验的友情类提示不是提交时无法通过的出错警示,而是给到用户一些更合理的建议或者帮助。
Ctrip.com填写登机人页
(当你选择了儿童票时会提示儿童票的某些特定限制。当你输入的出生日期与你之前选择的购买类型不一致的时候会建议你去购买更合适的类型,但并不强制。)
Buy360.com的注册页
(当onfocus的时候会出现下方帮助提示类信息,当然也有很多网站会做成暗提示。)
163.com的注册页
(当onfocus的时候会出现右边密码的强度,会根据你输入密码的改变而提示你的密码强弱。)
b) 即时校验的警示提示
即时校验的警示提示是属于错误类提示,这类错误会影响表单无法提交。
警示提示类的校验重要级别非常高,因此在颜色和位置上都需要非常明显。有很多网站甚至将出错内容和出错后如何修改的建议都放在了该提示中显示。
163.com的注册页
Buy360.com的注册页
c) 关联性校验
关联性校验是所填写项之间会有相互影响的逻辑关系,后一项的填写是否正确会取决与前几项的填写内容。
Buy360.com的注册页
(设置密码填写项与确认密码填写项不一致时会提示错误。)
招商银行信用卡支付页
携程旅行计划创建页
(旅行计划目的地1和目的地2的时间段有冲突时就会提示错误。)
3、 ACTION!
当您填写完表单,开始触发提交按钮的时候,表单会开始进行表单提交后的校验。目前比较多的有两种,一种是逐条提示,另一种是一次性全部提示。
a) 逐条提示
逐条提示是在提交表单后,虽然有多项错误,但是每次提交只按顺序显示一条错误。逐条告知错误提示,会导致用户改完之后再次提交又需要重复修改,视线流上下来回,不停的修改不停的提交,多次操作才能完成整个表单的过程。
yihaodian.com注册页
b) 一次性全部提示
一次性全部提示是在提交表单时将所有错误全部罗列。
Yahoo.com注册页
Hotels.com预订页
(该网站设计不仅将所有错误一次性全部罗列在填写框右侧,并且提交按钮的hover状态再次将所有错误呈现,点击某项错误会直接锚点跳转至该错误填写区域。)
思考:
出错提示有4个基本原则:即时反馈出错提示,出错提示的位置显示恰当并且明显突出,提示信息内容清晰易懂,一次性显示全部出错提示。
除了这些基本的设计原则,在设计表单的校验中,还会有很多让我很纠结的点,以下罗列一些我个人认为比较好的经验。
1、 在设计校验时虽然需要考虑到出错提示的明显突出,但是在实际情况中,会和页面的空间大小和布局相关,需要考虑实际情况来定夺。
2、 尽量避免不必要的错误,一是自动喷入值;二是限制型操作;
比如,在身份证填写项中填写了身份证信息时,如果下面还需要填写出生日期,完全可以直接喷入身份证上的出生日期值。
3、 有的错误校验会自动修正一些信息,但是这类行为请不要忘记告知用户。
4、 友情类提示的校验重要级别永远低于警示类错误校验,在视觉和交互的位置上应该酌情考虑。
5、 错误信息出现的位置视觉等效果应该统一,并且在位置上保持在用户可见的范围内。
6、 页面自动锚记至出错项处,如果是多条可锚记至第一项,最好还能on focus至出错的填写项。
7、 不要轻易清空用户填写的内容。
8、 错误提示不仅显示错误点,更可以推荐用户一些正确填写建议。
9、 出现了错误提示后,再次on focus至填写项时,不要隐藏错误提示。
分享到:
相关推荐
在提供的PDF文档《企业动态网站应用程序开发——输入数据实时校验函数及使用方法(Javascript篇)》中,你将找到更详尽的实例代码、示例和实践建议,帮助你更好地理解和应用JavaScript实时校验函数,以提升你的企业...
微信小程序中的`<form>`表单组件为开发者提供了便捷的数据收集和处理方式,结合数据绑定、事件监听、数据校验以及文件上传等功能,可以构建出丰富的用户交互体验。通过理解和熟练运用这些知识点,开发者能够更好地...
网页模板——HTML5实现手机身份证表单上传提交特效源码是一个专为移动设备设计的交互式前端开发资源,它利用了HTML5的先进特性和功能,以提供一个流畅且直观的用户界面,使得用户能够方便地上传身份证图片,并进行...
总的来说,jQuery的form表单校验插件极大地简化了前端表单验证的工作,提高了开发效率,同时也为用户提供了一流的交互体验。结合`jQuery-validation-1.13.1`中的示例和文档,开发者可以迅速掌握并应用这个插件,构建...
这份"IOS应用源码——表单验证.zip"压缩包很可能是提供了一个完整的示例项目,展示了如何在iOS应用中实现表单验证。在这个源码中,我们可以学习到以下关键知识点: 1. **Swift编程语言**:iOS应用开发主要使用Apple...
在房屋租赁管理信息系统中,JavaScript可能被用来实现页面的动态更新、表单验证、数据校验等,为用户提供更好的用户体验。 【文件内容解析】 1. **系统详细配置方法.doc**:这是一个文档,详细介绍了如何配置和...
根据一般的经验,如果表单中需要校验的域个数超过10个,开发过程就显得枯燥无味——多段重复的代码不断重复,如果要求跨浏览器,更多的考虑因素使人头疼不已。往往这个页面的验证还不能用于那个验证……虽然逻辑基本...
综上所述,Servlet、JavaBean和JSP技术在转账系统设计中起到核心作用,它们协同工作,实现了用户界面的呈现、用户交互的处理、业务逻辑的执行以及数据的存储与更新。通过合理地组织和利用这些技术,可以构建出高效、...
JavaScript作为客户端脚本语言,对于网页交互性的提升起着至关重要的作用,尤其在用户输入验证方面,它可以实时反馈错误信息,提高用户体验。 首先,让我们了解表单的基本结构。在HTML中,我们通常会定义`<form>`...
JavaScript作为客户端脚本语言,用于实现动态交互,如表单验证、实时预览等功能。此外,可能还应用了像jQuery或Vue.js这样的库或框架,以简化DOM操作,提升性能,并实现更复杂的交互效果。 在后端,PHP作为服务器端...
《毕业设计JSP论文格式化系统——后台模块的设计与实现》是一个基于JSP技术的项目,主要用于帮助学生和研究人员对学术论文进行格式化处理。该项目的后台模块是系统的核心部分,涉及了数据处理、用户交互、文件上传...
2. 健康填报模块:涉及用户界面元素的交互逻辑,如表单验证,以及与后端API的通信,提交健康数据。 3. 提醒服务:可能利用定时任务库(如Node.js的cron)设置提醒,通过邮件、短信或推送通知用户。 4. 数据库操作:...
首先,jQuery的校验控件通常指的是`jQuery Validation Plugin`,这是一个非常流行的开源插件,它提供了一套完整的表单验证解决方案。通过这个插件,开发者可以轻松添加各种验证规则,如非空、邮箱格式、手机号码格式...
《JSP论文格式化系统——后台模块的设计与实现》 JSP(JavaServer Pages)是一种动态网页技术,常用于构建企业级Web应用。本项目旨在设计并实现一个基于JSP的论文格式化系统,该系统主要针对后台管理模块,旨在提供...
合理的布局能让用户快速理解操作流程,而良好的交互设计能提高用户的操作效率。微信小程序提供了`view`、`input`、`button`等组件,通过CSS样式控制可以实现美观且易于使用的登录界面。 ### 安全性考虑 在处理用户...
在这款设计中,CSS3起到了至关重要的作用,它不仅赋予了表单清晰的视觉效果,还通过一系列样式规则实现了扁平化设计的核心理念——去除冗余的装饰效果,强调内容本身。扁平化设计趋势自2010年代初开始流行,因其简洁...
总的来说,这个“安卓Android源码——仿QQ微信登录页面.zip”项目涵盖了Android应用开发的多个核心知识点,包括布局设计、用户交互、数据验证、安全性、UI设计以及第三方服务的集成。对于初学者和进阶开发者来说,这...
【交互式IT绘图教程】主要讲解如何使用Axure这一工具进行交互原型设计,特别是针对售前需求分析的演示制作,旨在帮助用户更好地理解和展示产品功能,提升与客户的沟通效果。Axure是一款强大的原型设计软件,它允许...
- **实时反馈**:用户输入时,显示进度条或文字提示,增强交互体验。 总之,这个Vue.js源码示例提供了一个实用的手机端注册表单密码验证解决方案,可以帮助开发者快速构建安全且用户体验良好的注册页面。通过对Vue....
总结,jQuery Validate框架提供了一套强大且易用的表单验证解决方案,通过自定义错误提示,我们可以打造出符合项目需求的交互体验。无论是初学者还是经验丰富的开发者,都能从中受益,提升Web应用的质量和用户体验。