问题标签 [ivalidatableobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
139023 浏览

c# - 如何使用 IValidatableObject?

我知道它IValidatableObject用于以一种让人们相互比较属性的方式来验证对象。

我仍然希望有属性来验证单个属性,但我想在某些情况下忽略某些属性的失败。

在以下情况下,我是否试图错误地使用它?如果没有,我该如何实现?

0 投票
2 回答
3025 浏览

.net - IDataErrorInfo 与 IValidatableObject?

目前我的业务对象实现IDataErrorInfo. 因为我打算在 ASP.NET MVC 3 中使用这些库,所以我认为我应该也实现IValidatableObject或者可能不实现。

WPF 可以使用IValidatableObject吗?

DataAnnotations 如何融入图片中?

0 投票
1 回答
473 浏览

asp.net-mvc-3 - MVC3 IValidatableObject 日期

我有一个包含日期字段的基本表单,我想在IValidatableObject. 该字段的类型映射到 DateTime 属性,因此如果有人输入 26/15/2011,您如何在 Validate 方法中选择它?严格来说,它几乎就像用没有意义的 DateTime 验证 DateTime 对象。关于如何解决这个问题或如何检测到错误日期的任何想法?

0 投票
2 回答
4179 浏览

asp.net-mvc-3 - 从 IValidatableObject.Validate 返回的 ValidationResult 未本地化

在我的 ASP.NET MVC3 站点中,我使用以下作为视图模型:

当使用除默认文化以外的任何文化查看站点时,Required验证消息已正确本地化。但是,从该Validate方法返回的消息始终采用默认区域性。

有没有办法正确本地化IValidatableObject.Validate消息?

0 投票
1 回答
2375 浏览

asp.net-mvc - IValidatableObject 未触发

我正在尝试使用此处描述的 IValidatableObject http://davidhayden.com/blog/dave/archive/2010/12/31/ASPNETMVC3ValidationIValidatableObject.aspx

但是当我尝试验证时它不会触发,ModelState.IsValid它总是true.

这是我的模型代码:

我扩展了一个名为 的 LINQ to SQL 表Registration,我的第一个猜测是在 Meta 类上这是不可能的,但我不确定?

我没有收到任何错误,它构建得很好,但该Validate方法不会触发。我错过了什么?

0 投票
1 回答
12020 浏览

asp.net - IValidatableObject 验证方法在 DataAnnotations 失败时触发

我有一个 ViewModel,它有一些 DataAnnotations 验证,然后为了更复杂的验证实现 IValidatableObject 并使用 Validate 方法。

我期待的行为是这样的:首先是所有 DataAnnotations,然后,只有在没有错误的情况下,才使用 Validate 方法。我怎么发现这并不总是正确的。我的 ViewModel(演示版)有三个文件 one string、 onedecimal和 one decimal?。所有三个属性都只有Required 属性。对于string和 ,decimal?行为是预期的,但对于decimal,当为空时,必需的验证失败(到目前为止一切都很好),然后执行 Validate 方法。如果我检查该属性,它的值为零。

这里发生了什么?我错过了什么?

注意:我知道Required 属性是假设检查值是否为空。因此,我希望被告知不要在不可为空的类型中使用 Required 属性(因为它永远不会触发),或者,该属性以某种方式理解 POST 值并注意该字段未填充。在第一种情况下,该属性不应触发,而应触发 Validate 方法。在第二种情况下,属性应该触发并且 Validate 方法不应该触发。但我的结果是:属性触发和 Validate 方法触发。

这是代码(没什么特别的):

控制器:

模型:

视图模型:

看法:

0 投票
3 回答
3185 浏览

c# - IValidatableObject 验证方法不起作用

我在MVC3中使用了这个类......

每个属性的验证属性都正常工作,但是当调用 Validate 方法并返回任何结果时,它不会发回表单。有人可以帮忙吗??

控制器代码:

查看代码:

0 投票
3 回答
1237 浏览

c# - IValidatableObject 仅在某些操作中

我有一个实现 IValidatlableObject 的模型,因此可以通过 Validate 方法进行自定义错误检查。

当我创建一个对象时一切都很好,但是当我尝试编辑该对象时,我不想进行自定义验证。

我怎样才能知道我正在调用 Validate 方法以便不进行验证?

更新:这是mi模型:

}

因此,当我创建一个成分时,我想验证所有(属性 + IValidatable),但是当我编辑一个成分时,我只想验证属性(所以我的意思是跳过 IValidatable)任何要知道的方法,在 IValidatable 方法中,我来自哪里调用验证?

谢谢!!!

0 投票
1 回答
209 浏览

asp.net - IValidatableObject 在单独的程序集中

您好我正在尝试在 ASPNET MVC 4 项目上实现 IValidableObject 接口。我的模型在不同的程序集中,当框架执行我的验证方法时,它没有显示验证上下文并向我显示此错误:验证上下文无法通过嵌套类型访问外部类型“AS.Core.Model.Horario.Validate”的非静态成员'AS.Core.Model.Horario'

很明显,问题出在单独的程序集上,但我不知道该怎么做才能完成这项工作,有人可以帮助我吗?

这是我的代码:

0 投票
1 回答
408 浏览

asp.net-mvc - 由于通过 javaScript 动态隐藏的表单字段上的 ValidationSummary 错误,无法发布表单。

ASP.NET MVC 3 应用程序。

我正在尝试发布具有一些使用 JavaScript 出现和消失的动态字段的表单。我正在使用 IValidatableObject 对其中一些动态字段进行服务器端验证。

当这些字段可见并且我发布表单时,验证工作正常,它会在 ValidationSummary 中提供适当的错误消息并回发。现在,虽然这些错误消息在那里,但我使用隐藏这些字段

document.getElementById("schoolNotListed").style.display = "none";

我尝试再次发布表单,每次都会弹出 ValidationSummary 错误。控件没有到达控制器,也没有到达视图模型中的 Validate() 函数。这是一些客户端验证,阻止表单发布。

有没有办法可以跳过或禁用这些现在通过 javaScript 隐藏的字段的验证。或者我可以通过 javaScript 清除 ModelState 吗?

如果您对如何以不同的方式处理它有一些建议?

谢谢