我需要创建一个JS模块来执行具有以下需求的客户端表单验证:
- 在双方(服务器和客户端)上应用相同的验证逻辑,而无需编写客户端特定的代码(当然,模块除外)
- JS模块使用的错误消息必须来自服务器,以便我可以翻译错误消息"免费"
- 开发人员应该能够尽可能少地重复使用此功能。
我必须使用的(服务器端)框架是Zend(vs 1.11.3)。
我的解决方案如下,我想阅读您的意见和反馈:
- 我实现了一个Zend Decorator,它解析所有zend表单元素验证器,并为每个表单元素添加一个包含所有zend表单验证器信息的json(消息模板,变量......)。
- 然后我实现了一个JS模块(它包装了jQuery验证插件),它解析了表单元素属性,并使用json中包含的设置(消息和变量)将所有服务器端验证器映射到客户端验证器。
此时我所拥有的就是我需要的东西:
- 双方都有相同的逻辑
- 我使用服务器提供的错误消息
- 开发人员可以重复使用它,将Zend Decorator添加到表单或表单元素,并将js模块包含到视图中。
这似乎是解决我问题的正确方法。这对你来说似乎也是一个很好的解决方案吗?