问题标签 [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.
c# - 如何使用 IValidatableObject?
我知道它IValidatableObject
用于以一种让人们相互比较属性的方式来验证对象。
我仍然希望有属性来验证单个属性,但我想在某些情况下忽略某些属性的失败。
在以下情况下,我是否试图错误地使用它?如果没有,我该如何实现?
.net - IDataErrorInfo 与 IValidatableObject?
目前我的业务对象实现IDataErrorInfo
. 因为我打算在 ASP.NET MVC 3 中使用这些库,所以我认为我应该也实现IValidatableObject
或者可能不实现。
WPF 可以使用IValidatableObject
吗?
DataAnnotations 如何融入图片中?
asp.net-mvc-3 - MVC3 IValidatableObject 日期
我有一个包含日期字段的基本表单,我想在IValidatableObject
. 该字段的类型映射到 DateTime 属性,因此如果有人输入 26/15/2011,您如何在 Validate 方法中选择它?严格来说,它几乎就像用没有意义的 DateTime 验证 DateTime 对象。关于如何解决这个问题或如何检测到错误日期的任何想法?
asp.net-mvc-3 - 从 IValidatableObject.Validate 返回的 ValidationResult 未本地化
在我的 ASP.NET MVC3 站点中,我使用以下作为视图模型:
当使用除默认文化以外的任何文化查看站点时,Required
验证消息已正确本地化。但是,从该Validate
方法返回的消息始终采用默认区域性。
有没有办法正确本地化IValidatableObject.Validate
消息?
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
方法不会触发。我错过了什么?
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 方法触发。
这是代码(没什么特别的):
控制器:
模型:
视图模型:
看法:
c# - IValidatableObject 验证方法不起作用
我在MVC3中使用了这个类......
每个属性的验证属性都正常工作,但是当调用 Validate 方法并返回任何结果时,它不会发回表单。有人可以帮忙吗??
控制器代码:
查看代码:
c# - IValidatableObject 仅在某些操作中
我有一个实现 IValidatlableObject 的模型,因此可以通过 Validate 方法进行自定义错误检查。
当我创建一个对象时一切都很好,但是当我尝试编辑该对象时,我不想进行自定义验证。
我怎样才能知道我正在调用 Validate 方法以便不进行验证?
更新:这是mi模型:
}
因此,当我创建一个成分时,我想验证所有(属性 + IValidatable),但是当我编辑一个成分时,我只想验证属性(所以我的意思是跳过 IValidatable)任何要知道的方法,在 IValidatable 方法中,我来自哪里调用验证?
谢谢!!!
asp.net - IValidatableObject 在单独的程序集中
您好我正在尝试在 ASPNET MVC 4 项目上实现 IValidableObject 接口。我的模型在不同的程序集中,当框架执行我的验证方法时,它没有显示验证上下文并向我显示此错误:验证上下文无法通过嵌套类型访问外部类型“AS.Core.Model.Horario.Validate”的非静态成员'AS.Core.Model.Horario'
很明显,问题出在单独的程序集上,但我不知道该怎么做才能完成这项工作,有人可以帮助我吗?
这是我的代码:
asp.net-mvc - 由于通过 javaScript 动态隐藏的表单字段上的 ValidationSummary 错误,无法发布表单。
ASP.NET MVC 3 应用程序。
我正在尝试发布具有一些使用 JavaScript 出现和消失的动态字段的表单。我正在使用 IValidatableObject 对其中一些动态字段进行服务器端验证。
当这些字段可见并且我发布表单时,验证工作正常,它会在 ValidationSummary 中提供适当的错误消息并回发。现在,虽然这些错误消息在那里,但我使用隐藏这些字段
document.getElementById("schoolNotListed").style.display = "none";
我尝试再次发布表单,每次都会弹出 ValidationSummary 错误。控件没有到达控制器,也没有到达视图模型中的 Validate() 函数。这是一些客户端验证,阻止表单发布。
有没有办法可以跳过或禁用这些现在通过 javaScript 隐藏的字段的验证。或者我可以通过 javaScript 清除 ModelState 吗?
如果您对如何以不同的方式处理它有一些建议?
谢谢