使用 jQuery 和 FormEncode 无需重复即可验证表单
我正在开发一个基于 Pylons 的网络应用程序。因为我很理智,所以我使用 jQuery(和插件)而不是编写原始 JavaScript。我还使用 FormEncode 来验证我的应用程序的表单(尤其是新用户注册)。 FormEncode 非常适合在提交表单后对其进行验证。当 JavaScript 可用时,jQuery 可以在提交表单之前很好地验证表单。
我很贪婪:我想使用两种验证 - 而且我不想重复自己。如果有两组验证规则,则保持它们同步会产生额外的工作负载。
如何使用 jQuery 访问 FormEncode 验证规则,以便 jQuery 和 FormEncode 都基于相同的规则调查表单数据,而不必将规则写下来两次?
I'm working on a Pylons-based web app. Because I am sane, I am using jQuery (and plugins) instead of writing raw JavaScript. I am also using FormEncode to validate forms for my app (especially new user registration). FormEncode is great for validating forms after they're submitted. jQuery, when JavaScript is available, validates forms quite well before they're submitted.
I'm greedy: I want to use both kinds of validation - and I don't want to repeat myself. If there are two sets of validation rules, there's an extra workload generated by keeping them in sync.
How can I use jQuery to access my FormEncode validation rules, so that both jQuery and FormEncode investigate form data based on the same rules without having to write the rules down twice ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我当前的解决方案是在控制器中使用 FormEncode 规则,并为控制器提供一种响应提交的完整表单的方法,以及另一种响应 AJAX 请求的方法,并再次验证这两种方法是否具有相同的 FormEncode 规则。这意味着我可以让 jQuery 向控制器的 AJAX-y 方法发出请求,并让常规表单提交转到控制器的正常表单提交方法,并且在这两种情况下都将应用同一组表单验证规则。
My current solution is to have the FormEncode rules in the controller, and to give the controller one method that responds to a complete form being submitted, and another method that responds to AJAX requests, and validate both methods again the same FormEncode rules. That means that I can have jQuery make requests to the controller's AJAX-y method, and have regular form submissions go to the controller's normal form-submission method, and in both cases the same set of form-validation rules will be applied.