2008-03-10

<<Ajax In Practice>>翻译定稿

关键字: ajax 翻译
为了翻译,我已经很久没有写博客了。好在此书已进入最后定稿阶段,可以抽些时间认真做个总结了。

尽管做了最坏的打算,在本书翻译过程中,我们还是遇到了非常多的困难,限于篇幅这里不仔细说明了。交稿自然延期了,幸亏翻译团队的核心人物hax,他技术理解准确,语言驾驭力强。本书的翻译质量还是不错的。

本书注重实践,给出了Ajax应用开发过程涵盖的各个方面的大量实例。尤其是第2篇,也是本书的核心内容,深入探讨了事件处理、表单验证和提交、处理后退/刷新/撤消按钮、内容导航、拖放,还有用户友好性的UI设计、状态和缓存管理、第三方Web接口等领域。相信本书能为读者的Ajax开发带来一些帮助。可惜的是,书中的一些语句包括示例选取,甚至在某些技术细节上原作者的理解可能都是瑕疵的。总的来说,还是一本值得看的好书。

翻译下来的最大体会是,翻译需要投入巨大的时间、精力,最重要的是保持严谨的态度,无论技术还是译文,力求准确无误,这也是翻译的基本要求。当然,正确理解技术是做好翻译的基础,不过我更感觉到现代汉语基础的重要!技术书籍中文版的失败,主要还是人的因素。譬如译者的汉语能力高低、工作态度,合作能力等等都会影响翻译质量。把简单的事情做好,也许是复杂的事情就不那么难了。



第6章 表单验证与提交
Form validation and submission


本章内容
 客户端字段验证
 客户端跨字段验证
 用POST方法发送HTTP请求
 使用XMLHttpRequest(XHR)进行表单提交


对输入进行有效性验证大概是Web开发人员最不喜欢的活动之一。我们经常听到这样的抱怨:“为什么用户就不能一次性键入正确的数据呢?”还有“我们反正要在服务器上进行验证,干嘛要自寻烦恼做什么客户端验证?”。特别是后者,貌似还挺有道理。那么我们为什么要进行输入验证呢?
这是因为,它创造了更好的用户体验:
■ 将表单上的错误数据立即反馈给用户
■ 减少服务器资源占用(网络流量和服务器运行周期),令用户界面(UI)运行更流畅

输入验证要和HTML表单提交配合使用:首先验证数据是否有效,然后将它提交到服务器。本章第二部分,我们将讨论使用Ajax请求实现HTML表单处理和提交。自行实现POST请求其实要进行低层次的数据处理,你要直接与服务器通讯,而不是由浏览器代劳。这个过程非常容易出错,不过如果正确实现了它,就能消除那些讨厌的浏览器页面刷新,令你的用户界面更为迅速。

6.1 客户端表单验证
Client-side validation

什么是表单验证?简单说,就是确认用户在表单中输入的数据是否有效。目前有效这个概念有点模糊,但主要是指表单中的数据要符合某些规则。
表单验证早已有之,最初多在服务端实现,后来转移到客户端,这使得用户能更快得到反馈。许多服务端框架比如Struts都提供了表单验证功能,但遗憾的是,对客户端验证的支持始终不够。
本节我们将看一看怎样亲手创建一个可扩展的客户端验证框架。我们会循序渐进,先是一些简单的验证功能,然后是“即输即验”式验证以及跨字段验证。

6.1.1 在客户端进行验证
Validating on the client side

在客户端进行验证可能非常……唔,可能不太有趣 。显然,如果能创建一个程序库,然后每个页面都重用这个程序库,而不是每次去重新编写一遍验证代码,那就好了。没错,这正是我们下面所要看到的。
注意,我们将使用面向对象的JavaScript,以便提高程序的可维护性和可扩展性。如果你需要复习一下这部分内容,请参考本书第3章。
评论
发表评论

您还没有登录,请登录后发表评论

zerozone
搜索本博客
最近加入圈子
存档
最新评论