Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

HTTP 拦截与表单验证

  前后端都需要对表单进行验证,但相比之下后端验证要比前端容易得多。前端的表单验证散落在各个页面、各个控制器中,管理起来非常困难。而后端验证的结构要比前端清晰得多,因为表单验证本就是后端的基本工作之一,很多后端框架甚至都自带了表单验证相关的模块。
我不是在提倡让页面只使用后端验证,而是想要拦截 XHR 请求,在前端模拟后端的行为。假如我们在前端搭一个层来拦截 XHR 请求,抽取出表单验证相关处理。这就可以把后端表单验证的 routers-controllers 结构原原本本的搬到前端,相当于将前端原本散落在业务代码中的表单验证统一到了一处。最终可以得到一个神奇的结构:
  1. 业务层
    前端的业务代码完全不用管表单逻辑,开发认为可以将所有表单视为「后端验证」。
  2. 验证层
    这个层拦截 XHR 请求,并在前端模拟后端的行为,它直接处理掉一些前端就能判断的错误请求。
  3. 后端
    前端的请求通过验证层之后就会发送到后端,然后再做一次完整验证。

  这时候,表单验证就被从前端的业务代码中抽取出来了,整个前端结构变得更清晰。虽然这不是什么很高端的概念,但似乎还真是一种「可以用的东西」。
网名:
54.92.174.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^