Csharp/C#教程:自定义validation属性有多个实例问题分享


自定义validation属性有多个实例问题

我在C#4中使用tha命名空间System.ComponentModel.DataAnnotations来实现我自己的validation属性,它看起来像这样

[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] public sealed class MyCustomValidator : ValidationAttribute { private String Property1 { get; set; } private String Property2 { get; set; } public ValeTaxiSituacaoRequired(String property1, String property2) { Property1 = property1; Property2 = property2; } public override bool IsValid(object value) { //validation logic } } 

我想使用这个属性如下

 [MyCustomValidator("Name", "Job")] [MyCustomValidator("Name", "Email")] [MyCustomValidator("Name", "Job")] public class Employe { } 

问题是只进行了一次validation。 如何执行所有validation(使用asp.net mvc 2)?

你必须覆盖TypeId属性https://www.paraesthesia.com/archive/2010/03/02/the-importance-of-typeid-in-asp.net-mvc-dataannotations-validation-attributes.aspx

如果你想在你自己的属性上实现AllowMultiple = true,那么首先覆盖TypeID,接下来解决JQuery的解决方案请看这里关于代码项目的文章

看看FluentValidation 。 它允许您将validation与要validation的类分开,以便您可以随时在服务器或客户端上调用validation逻辑。

它允许您为类添加任意复杂度的规则,而不会使用属性使其混乱。

上述就是C#学习教程:自定义validation属性有多个实例问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/956367.html

(0)
上一篇 2021年11月20日
下一篇 2021年11月20日

精彩推荐