如何在客户端和服务器端使用验证规则?

Posted

技术标签:

【中文标题】如何在客户端和服务器端使用验证规则?【英文标题】:How to use the validation rules on both client-side and server-side? 【发布时间】:2011-02-06 01:40:51 【问题描述】:

我正在使用 jQuery 验证系统进行客户端验证。后端使用 django。 jQuery 使用 JSON 格式的一组有趣的规则。

是否存在在 django 端使用相同规则的东西,或者我需要自己编写代码?

【问题讨论】:

我认为世界需要某种可以在客户端和服务器端运行的验证标记。为每个环境编写的引擎将处理验证。我想有点像 xml 架构。 【参考方案1】:

不,不存在这样的东西。

是的,您需要自己编写代码。

但是,我想您可以创建能够基于 modelFields 提供通用验证 js 例程的小部件。例如“这应该是不超过 max_length 的字符”。然而,他们无法轻松生成客户端代码来验证任何用 python 编写的自定义验证,甚至无法生成“这必须是现有用户的用户名”之类的东西。但是,如果您不厌其烦地构建基于模型字段进行基本验证的小部件,请将它们贡献给开源:-D

【讨论】:

它已经是一个开源项目所以无论如何它都会:)当然这可能只对需要复制的操作有效,例如日期验证或密码确认验证等...如果它涉及数据库,它将涉及服务器端和一些用于客户端验证的 ajax。【参考方案2】:

本文描述了某种程度的集成:http://streamhacker.com/2010/03/08/jquery-validation-django-forms/

看起来它实际上并没有根据服务器端元数据生成客户端元数据,但至少将所有规则放在一个地方。可能是根据现有 Django 规则生成这些规则的良好起点。

【讨论】:

【参考方案3】:

我自己没用过,但是有django-ajax-forms这个项目。

【讨论】:

以上是关于如何在客户端和服务器端使用验证规则?的主要内容,如果未能解决你的问题,请参考以下文章

jquery验证服务器端检查

如何使用服务器端验证生成客户端验证?

如何在客户端和服务器之间共享 Javascript 业务规则?

如何在服务器端使用passport js本地用户身份验证后在客户端使用cookie显示用户信息?

web服务端给手机客户端发送一条短信验证码,因为要跟客户端提交的比较,服务端怎么先保存这个验证码呢

在服务器端护照js本地用户身份验证后,如何在客户端使用cookie显示用户信息?