我正在使用 Zend Framework 和 jQuery 开发一个 MVC 应用程序。My Model 由三层组成:Service Layer、Mapper、Domain Model。
迄今为止,我一直在努力进行输入验证——有些发生在客户端,有些发生在 Zend 表单中,有些发生在域模型中。职责变得混乱,有很多重复的逻辑。
经过一番思考,我看不出有什么理由不跳过任何 Zend Form 验证。我可以使用 javascript 验证简单的事情(包括正则表达式),并在需要时从服务器获取其他数据(通过 ajax)。当表单通过验证时,我会将其传递给服务器。
当然,我的域模型逻辑需要全面(复制客户端上的所有内容),但域模型还有什么用途,对吧?
我错过了什么吗?有什么需要注意的问题吗?
编辑:为了清楚起见,我根本不建议放弃服务器端验证。(我意识到这是势在必行的。)我建议如果我的领域模型做到了,那么也没有必要在表单中做到这一点。