2010-02-24 64 views
3

我正在努力寻找在提交通过ajax生成的表单之后显示验证消息的最佳方式。

让我更好地解释一下:
我有一个以几个选项开头的页面。根据用户从下拉菜单中选择的内容以及添加新的字段,将创建表单并在最后提交表单。如何在通过Ajax生成表单后显示验证

问题是,即使我可以在服务器上进行验证检查,并在页面上显示一般验证消息。我应该如何预先使用用户在按下提交按钮之前输入的值填充表单域。

+0

是通过DOM创建的表单吗?对不起,我试图找出验证件的工作流程。 – 2010-02-24 15:24:30

+0

是的,通过DOM和innerHtml创建:按钮被点击,ajax调用返回json,通过DOM其他通过innerHtml创建的一些html表单元素 – CodeClimber 2010-02-24 15:28:18

回答

0

有几种方法我可以看到处理这个。

1)在提交后再进行一次AJAX调用,验证并返回没有完整的帖子。这不是一个优雅的解决方案,因为它涉及两次往返,取决于验证会导致性能问题。

2)当您返回用于扩展表单的json时,请将它转为2组json对象。第一组对象将代表您当前使用的数据。数组中的第二组将代表验证逻辑,然后您可以应用验证逻辑,但是在创建窗体时需要应用验证逻辑。

两种方式都不是真正的优雅;然而,后者提供了一种最小化往返验证的方法。

+0

是的,我只是想做一个Ajax POST而不是一个普通的POST并让它返回可能验证错误... 第二种方法是不可能的验证逻辑不可能在客户端 – CodeClimber 2010-02-24 15:36:31

1

三个选项:

  1. 正常POST - >服务器呈现形式,因为它是提交(你应该能够重建形式,服务器端)

  2. AJAX POST - >只是重定向如果验证成功

  3. 检查站前的用户 - >同步AJAX调用验证

+0

我要选择2 选项1太复杂..我必须发回整个模型回到该页面只是为了显示验证错误。 选项2也有他的问题:我必须手动显示验证消息 – CodeClimber 2010-02-25 00:18:57