验证客户端和服务器上的输入而不编写规则两次?

时间:2014-12-10 10:07:10

标签: jquery validation phalcon

我正在使用Phalcon开发一个网络应用程序。 我正在使用jQuery来完成从前端(发布到Phalcon控制器)的所有数据保存。

有没有办法编写我的验证规则一次,并在控制器和前端jQuery上都有这些工作?

我想通过jQuery验证前端输入的数据(并显示错误),但是我还想在执行CRUD操作之前在控制器中验证这些数据。

由于

1 个答案:

答案 0 :(得分:0)

我在我的应用程序中需要一个类似的方法,所使用的方法也可能适合你。这是它:

  • 在服务器端保留验证逻辑。无论如何都不应该信任客户端验证......
  • 在浏览器中加载部分HTML后,会触发一些方法来查找和设置要通过AJAX提交的任何<form>标记。
  • 一旦所有表单提交都是通过AJAX完成的,请使这些请求始终返回正确的JSON响应并定义一些约定,例如始终具有status属性(例如'ok','error','internalError'等等)和一些可选属性,如validationErrorscallback
  • 使用jQuery的ajax设置来拦截所有AJAX请求的success事件。如果响应包含validationErrors属性,您可以获取生成请求的表单并在那里显示错误消息。我的validationErrors是一个对象,输入名称为key,错误消息为value。

我没有提供任何代码,因为你只需要在这里得到这个想法。这样我的验证就在服务器端完成,CRUD操作的生命周期以干燥的方式处理。

如果您需要进一步解释,请与我们联系。