Javascript 使用zf2验证电子邮件地址。错误信息应显示在标签中,而不刷新整个页面

Javascript 使用zf2验证电子邮件地址。错误信息应显示在标签中,而不刷新整个页面,javascript,zend-framework,zend-framework2,zend-form,zfcuser,Javascript,Zend Framework,Zend Framework2,Zend Form,Zfcuser,当我关注密码字段时 我想验证电子邮件并在页面上显示错误消息,而不刷新用户提供的全部输入 我需要使用数据库验证这一点。电子邮件是否存在 我想我想要jquery。但是我不知道如何通过控制器访问jquery 我正在使用zendframework 2。我建议您将此问题分解为几个部分。您必须进行服务器端验证,所以首先要弄清楚这一点。发布表单后,将运行验证,并将验证消息附加到无效的表单元素 这并不像听起来那么糟糕,因为默认情况下,它会将用户值加载回表单中 您正在检查唯一性的事实使您的用例变得有点棘手,因为您

当我关注密码字段时

我想验证电子邮件并在页面上显示错误消息,而不刷新用户提供的全部输入

我需要使用数据库验证这一点。电子邮件是否存在

我想我想要jquery。但是我不知道如何通过控制器访问jquery


我正在使用zendframework 2。

我建议您将此问题分解为几个部分。您必须进行服务器端验证,所以首先要弄清楚这一点。发布表单后,将运行验证,并将验证消息附加到无效的表单元素

这并不像听起来那么糟糕,因为默认情况下,它会将用户值加载回表单中

您正在检查唯一性的事实使您的用例变得有点棘手,因为您需要一个可以与数据库交互的自定义验证器,并且您还没有指定您是否使用Zend\Db、Doctrine,或者甚至其他东西。在任何情况下,您都应该从查看默认验证程序包开始:

我们希望对数据库进行验证的一些常见事情通常是持久性包的一部分。您的用例实际上在Db\Adapter教程中作为示例给出:

如何实现这一点在很大程度上取决于如何处理持久性

如果您还没有考虑过教义,请通读奥克拉米乌斯的幻灯片:

接下来,您可以通过添加一个验证服务端点并通过Ajax调用它来增强所描述的使用体验。它应该使用与表单使用的完全相同的验证器,但提供JavaScript事件的反馈

我建议您在这里查看快速入门表单

这可能看起来有点吓人,因为它们涵盖了很多领域,但它确实有一个电子邮件基本验证的特定示例。一旦实现了惟一性验证器,它将以相同的方式添加到表单中


希望这会有所帮助。

有几种方法可以做到这一点。您可以发送一个ajax请求,并让表单按字段进行验证。或者,您可以通过javascript实现客户端,而无需ajax和服务器端验证。您必须始终进行服务器端验证。