2010-06-10 60 views
1

我有一个非常大的表单,我需要用户完成。他们需要能够保存他们的进步,无论有效与否。当他们稍后回来时,他们可以更新并生效 - 然后提交数据。什么是覆盖mvc应用程序中数据验证的最佳方法

我使用客户端脚本(XVAL),服务器端的域模型的属性。你

回答

0

一种选择是有一个[保存草稿]按钮,会去一个不同的动作SaveDraft(),而不是保存()。通过单独的方法,您可以决定在保存操作中需要的验证数量。我认为更清洁。

具有相同的保存动作决定是否申请validatation逻辑的数量将是难以阅读和维护。

+0

我的主要问题是,我使用XVAL用于客户端验证...不知道我怎么可以改写验证。我想这是作者的一个问题。此外,需要评估是否需要为用户提供此功能(以保存),因为存在多个字段,我们甚至不希望在未验证某些输入的情况下保存这些字段。我们需要在这里做出一些决定......谢谢! – waynem 2010-06-14 16:23:46

+0

@waynem这听起来像你不想重写xVal验证。您希望关闭该页面以便可以发布数据或通过jQuery Ajax帖子绕过数据。 – 2010-06-21 22:17:19

0

我不知道很多关于XVAL,但也许你可以看到从XVAL属性继承和做检查有...

例如ConditionalRequiredAttribute:RequiredAttribute,它可能会采取适当的状态进行验证。如果验证条件满足(状态!=“草案)

确认将作为base.Validate()(或任何它被称为)上ConditionalRequiredAttribute的validate方法一样简单。

因为我不知道XVAL ,我不知道客户端验证是如何工作的......它是否创建客户端验证代码?在这种情况下,您必须编写代码来在javascript中创建类似的包装(例如if(status!=“Draft “)......如果验证只是使一个Ajax调用返回的错误的列表服务器,然后我想,你就不必做任何事情。

抱歉,我不能直接回答你的问题,但也许这可以帮助你想出一些想法...

相关问题