如何通过ajax分别在一个表单中验证两个模型

时间:2013-03-14 14:35:47

标签: php yii validation

我需要实现以下工作流程。

  1. 网址中的用户类型
  2. 用户点击“验证”按钮
    • url通过ajax验证(非空且存在)。
    • 如果网址有效,则应从给定网站自动解析某些信息,并在同一网页上填写一些表单字段。
    • 这些表单字段也需要通过ajax验证(某些字段是必需的)。
  3. 如果填写了所有必填字段,则用户可以点击保存按钮。否则,系统会提示他填写所有剩余的必填字段。
  4. 实现这一目标的最佳方法是什么? url字段和表单字段是一种形式的两个不同模型,因此节省我需要两者。

    我已经实施了大部分工作流程,但我不确定这是否正确。我为表单启用了ajax验证。 url字段已正确验证,但其他字段不会触发验证。也许是因为那些文件以打包引导活动形式打包?

    点击“验证”按钮后,我触发了一个自己的ajax请求,我在那里手动验证了url。如果它有效我解析页面并返回所有找到的信息,否则我返回错误。成功方法比显示错误或填写其他表单字段。 有没有办法在发送我自己的ajax请求之前以编程方式触发yii ajax验证。

    现在我对其他表单字段的ajax验证感兴趣。提交,验证并保存成功效果很好。但我想要一个没有提交的验证。 我是否必须实现自己的ajax请求和响应处理,或者是否有办法使用某些yii内置功能?

1 个答案:

答案 0 :(得分:1)

假设您有一个包含某些字段的表单:

  • 禁用保存按钮。
  • 让听众听取字段中的更改。
  • 拥有一个可以验证每个字段并使其返回布尔值的唯一函数。
  • 如果所有验证的布尔值均为真,则启用保存按钮。

这也是一个很好的做法

  • 有一个可以加载邮件的div,以便用户知道他的错误/无效填写。

请注意

  • 除非您在后端执行某些数据库功能,否则不需要Ajax。
  • 如果需要,您可以使用验证按钮而不是侦听器。

我误解了你吗?