0

我刚刚遇到了一种情况,让我把头发拉了好一阵子,我不知道为什么要解释。最后,我唯一能做的就是关闭客户端验证。

我们在生产环境中使用 MVC3 代码已经有一年多了,它使用了客户端和服务器端验证的组合。大部分验证是在服务器端完成的,但是我们已经为 [Required] 字段打开了客户端验证,因此如果缺少其中一个字段,则不必访问服务器,因为客户端-side 的东西首先被检查。

今天早上,突然之间,对于没有[Required] 属性的字段,我们收到客户端验证错误!为什么会这样?

引发客户端错误的字段仅具有服务器端验证,因为它是必须一起检查的一组复杂属性的一部分。我在代码中的验证行上放置了一个断点,但它从未到达它,因为它在客户端被验证为必填字段,尽管根本没有该属性(该属性根本没有验证属性)。

我不明白这一点。我查看了客户端上网页的源代码,它是:用于客户端验证的 javascript。但是在模型的代码中,我们没有指定该属性应该是必需的或任何其他验证属性。

是什么赋予了?我认为客户端验证代码只为具有指定属性的属性生成?

4

0 回答 0