对象集合的自定义验证或删除验证

时间:2009-09-20 14:10:08

标签: asp.net-mvc model-view-controller validation

我们正面临一个场景......它是:

我们的客户模型包含Address对象的集合。表单显示客户输入的3个地址。但是只有第一个地址是强制性的。 现在我们的验证是在地址模型上,类似于“街道地址不能为空”。

因此,当提交表单时,将对所有3个地址执行验证,即使第二个和第三个地址不是必需的,验证摘要也会显示两次“街道地址1不能为空”的消息。

那么我们如何才能对第二和第三地址进行可选的验证呢?就像它只有在客户输入第二个和第三个地址时才执行验证。我们只想使用服务器端验证。

或者在控制器中是否有一种方法可以从模型状态中删除错误消息并强制使ModelState.IsValid为true?

1 个答案:

答案 0 :(得分:0)

我们也有这个。

如果您的地址存储在一个集合中,您可以使用标准验证,并按用户需要添加每个地址,确保始终至少有一个。

添加和删除地址操作,然后使用JS智能化您的表单,以便在启用时发布一个帖子。