【问题标题】:Validate data from CakePHP form with jQuery (AJAX)使用 jQuery (AJAX) 验证来自 CakePHP 表单的数据
【发布时间】:2011-02-02 17:40:25
【问题描述】:

我想验证 CakePHP 表单中的单个字段和多个字段数据。 单字段验证应该对每个字段的模糊进行,而多字段验证应该在提交表单时进行。

我想使用模型中声明的$validate 属性来验证数据,并且我想在每个字段附近(单字段验证)和表单顶部(用于多字段验证)显示错误。

我的主要目标是实现这一最“结块”的方式(如果有一种用于使用 jQuery 验证数据的方式)。我在外面找不到任何有用的建议,我想请你帮忙。

我关心的一个问题是如何将数据从表单传递到 jQuery,然后传递到执行验证的操作,以及如果有错误,我应该如何返回和显示错误。

提前谢谢你!

【问题讨论】:

  • 我不知道如何开始......我的意思是我想用 jQuery 从字段中获取数据,将其发送到控制器的操作(不知道它应该是全局的还是特定于控制器),验证并将结果返回到主窗体。但我不知道具体该怎么做。

标签: validation cakephp forms


【解决方案1】:

我建议首先确保在没有 jQuery 的情况下一切正常,然后使用 jQuery Form plugin 通过 AJAX 提交您的表单。如果您在 AppController 中包含 RequestHandler 组件,您应该会发现您的控制器会自动区分 AJAX 和同步请求。

【讨论】:

  • 一切都在原始 PHP 中运行。好的,所以我使用 Cake 的 RequestHandler 来检查数据是来自 AJAX 请求还是来自正常请求。然后呢?还有,如何将数据从表单发送到控制器?我的意思是,有没有一种简单的方法可以使用 jQuery 将 $this->data 数组从表单简单地传递给控制器​​?
  • 这就是 jQuery 表单插件的作用。您需要从网站(上面的链接)下载它,然后按照那里的示例进行操作。
  • 我查看了示例,但找不到任何适合我的问题的解决方案。我目前正在实施自己的解决方案,希望我能找到一种方法让它做我需要做的事情。
  • 我设法编写了一些可以正常工作的代码,但我仍在等待更“结块”的方法,如果存在的话。
  • 祝你好运。如果您找到了满意的非常好的解决方案,请在此处发布详细信息!
【解决方案2】:

好的,所以我编写了自己的解决方案,但我仍在等待更“结块”的方法。

我制作了两个通用的 jQuery 函数,一个用于单字段验证,一个用于多字段验证。该函数应该从指定表单中获取数据并通过 AJAX 将其发送到表单的操作,发送到一个专门创建的控制器方法,该方法将尝试验证数据并输出 AJAX 响应("" 表示验证已通过,errors 表示验证错误)。然后,在 jQuery 函数中检查结果,只有在验证通过时才会触发默认的表单行为。否则,显示错误和return false; 以防止默认提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多