首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET MVC ValidationAttribute获取其他属性显示名称

作为一个云计算领域的专家,我可以为您提供关于ASP.NET MVC ValidationAttribute获取其他属性显示名称的信息。

ValidationAttribute是ASP.NET MVC中的一个特性,用于定义自定义验证规则。在ValidationAttribute中,可以使用DisplayAttribute来获取其他属性的显示名称。

以下是一个示例代码,展示如何在ValidationAttribute中获取其他属性的显示名称:

代码语言:csharp
复制
public class CustomValidationAttribute : ValidationAttribute
{
    public string OtherPropertyName { get; set; }

    public CustomValidationAttribute(string otherPropertyName)
    {
        OtherPropertyName = otherPropertyName;
    }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        var otherProperty = validationContext.ObjectType.GetProperty(OtherPropertyName);
        var displayName = otherProperty.GetCustomAttribute<DisplayAttribute>()?.Name;

        // 在这里编写自定义验证逻辑,并使用displayName作为其他属性的显示名称
    }
}

在上面的代码中,我们首先通过validationContext.ObjectType.GetProperty(OtherPropertyName)获取其他属性的PropertyInfo对象。然后,我们使用GetCustomAttribute<DisplayAttribute>()?.Name方法获取该属性的显示名称。

需要注意的是,在使用ValidationAttribute时,需要将其应用于相应的属性上,例如:

代码语言:csharp
复制
public class MyModel
{
    [Display(Name = "First Name")]
    public string FirstName { get; set; }

    [CustomValidation(OtherPropertyName = "FirstName")]
    public string LastName { get; set; }
}

在上面的代码中,我们将CustomValidationAttribute应用于LastName属性上,并将FirstName作为其他属性的名称传递给它。在CustomValidationAttribute中,我们可以使用DisplayAttribute获取FirstName属性的显示名称。

希望这些信息能够帮助您解决问题。如果您有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator

对于ASP.NET MVC基于标注特性的Model验证,很多人只知道应用在数据类型及其属性上用于定义验证规则和错误消息的ValidationAttribute。...[本文已经同步到《How ASP.NET MVC Works?》...在该方法中,基于被验证对象(如果为Null则采用Model元数据的Model属性)创建出表示当前验证上下文的ValidationContext对象,并采用Model元数据的DisplayName属性作为该上下文的显示名称...MVC基于标注特性的Model验证:ValidationAttribute ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator ASP.NET...MVC基于标注特性的Model验证:DataAnnotationsModelValidatorProvider ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute

1.1K110
  • ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现

    中] 一、ValidationAttribute与HTML ASP.NET MVC默然采用基于ValidationAttribute特性的声明式Model验证,服务端验证最终实现在两个重写的IsValid...对于客户端验证,ASP.NET MVC对jQuery的验证插件进行了扩展,实现了另一种不同的内联方式是我们 可以将验证规则定义在被验证输入元素的属性中。...具体来说,去除“data-val-”前缀后的属性名称对应着采用jQuery验证时对应的验证规则名称。 一般来说,一个ValidationAttribute对应着一种验证类型和一系列可选的验证参数。...}”的命名模式提取相应的验证规则属性值,并最终得到一样验证规则,ASP.NET MVC只需要对两种作简单的适配即可。...ASP.NET MVC的客户端验证:jQuery的验证 ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 ASP.NET MVC的客户端验证:自定义验证

    7.1K70

    ASP.NET MVC编程——模型

    显示模型绑定 使用UpdateModel和TryUpdateModel显示绑定模型,不会检验未绑定字段。...,达到修饰模型属性或验证属性的目的 特性名称 描述 备注 StringLength 设置字符串允许的最大长度 Required 标记字段为必填字段 RegularExpression 必须满足指定的正则表达式...Range 规定数字的范围 CustomValidation 自定义验证规则 DisplayName 设置字段的显示名称 Compare 比较两个字段是否一致 可用于确认第二次输入是否与第一次一致...ASP.NET MVC4 Web编程 2.Jon Galloway/Phil Haack/Brad Wilson/K....Scott Allen,孙远帅/邹权译  ASP.NET MVC4 高级编程(第四版) 3.黄保翕,ASP.NET MVC4开发指南 4.蒋金楠,ASP.NET MVC4框架揭秘 5.https://www.asp.net

    2.4K80

    ASP.NET MVC下的四种验证编程方式

    在《ASP.NET MVC下的四种验证编程方式》一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式(“手工验证”、“标注ValidationAttribute特性”、“让数据类型实现IValidatableObject...MemberName和Message,前者代表被验证数据成员的名称,后者表示错误消息。...对于针对容器对象某个属性的验证来说,属性名称会作为返回的ModelValidationResult对象的MemberName属性。...二、DataAnnotationsModelValidator 我们在《ASP.NET MVC下的四种验证编程方式》中介绍了三种不同的“自动化验证”的编程方式,ASP.NET MVC在内部会采用不同的ModelValidator...ASP.NET MVC基于标注特性的Model验证:ValidationAttribute ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator

    97480

    ASP.NET MVC中如何应用多个相同类型的ValidationAttribute

    ASP.NET MVC采用System.ComponentModel.DataAnnotations提供的元数据验证机制对Model实施验证,我们可以在Model类型或者字段/属性上应用相应的ValidationAttribute...[源代码从这里下载] 一、一个自定义ValidationAttribute:RangeIfAttribute 为了演示在相同的目标元素(类、属性或者字段)应用多个同类的ValidationAttribute...,我定义了一个名称为RangeIfAttribute特性用于进行“有条件的区间验证”。...RangeIfAttribute定义了Property和Value两个属性,分别表示被验证属性/字段所在类型的另一个属性名称和相应的值,只有当指定的属性值与通过Value属性值相等的情况下我们在真正进行验证...ASP.NET MVC在生成包括验证特性的Model的元数据的时候,针对某个元素的所有ValidationAttribute是被维护在一个字典上的,而这个字典的值就是Attribute的TypeId属性

    2.1K60

    C# 特性 System.ComponentModel 命名空间属性方法大全,System.ComponentModel 命名空间的特性

    ---- 3,System.ComponentModel.DataAnnotations 官方的描述是 命名空间提供定义 ASP.NET MVCASP.NET 数据控件的类的特性。...(Inherited from ValidationAttribute) ErrorMessageResourceName 获取或设置错误消息资源的名称,在验证失败的情况下,要使用该名称来查找ErrorMessageResourceType...如果存在 Yes,可视化设计器即可在设计器上显示该组件。 DisplayNameAttribute 指定属性、事件或不采用任何参数的公共 void 方法的显示名称。...ParenthesizePropertyNameAttribute 指示关联属性名称在“属性”窗口中显示时是否带有括号。 此类不能被继承。...IExtenderProvider 定义将属性扩展到容器中的其他组件的接口。 IIntellisenseBuilder 提供便于检索生成器的名称显示该生成器的界面。

    4.1K30

    ASP.NET MVC下的四种验证编程方式

    我们在一个ASP.NET MVC应用中定义了如下一个Person类作为被验证的数据类型,它的Name、Gender和Age三个属性分别表示一个人的姓名、性别和年龄。...实际上这也是ASP.NET MVC的Model验证系统默认支持的编程方式。...由于ASP.NET MVC会自动提取应用在绑定参数类型上的ValidationAttribute特性对绑定的参数实施自动化验证,所以我们根本不需要在具体的Action方法中来对参数作手工验证。...在实现的Validate方法中,我们从验证上下文中获取被验证的Person对象,并对其属性成员进行逐个验证。...在实现的索引中,我们将索引参数columnName视为属性名称,根据它按照上面的规则对相应的属性成员实施验证,并在验证失败的情况下返回相应的错误消息。

    1.4K80

    09:数据标注与数据校验

    ASP.NET MVC 等框架中使用。...例如,在 ASP.NET MVC 中,Razor 引擎会根据 Model 属性的 DataType 特性动态生成不同类型的表单元素。...数据标注用来验证数据的合法性是最常见的用法,在 ASP.NET Core/Mvc 中,数据作为表单 Model 提交时,框架会对 Model 数据自动进行校验,也可以手动调用 ModelState.IsValid...自定义校验特性 自定义一个校验特性很简单,创建一个继承 ValidationAttribute 的类,然后重写它的 IsValid 方法。...数据校验需要提供检验的信息,比如校验规则、需要校验的属性及未通过显示的错误信息等,而这些需要由另一个类来从待校验的实例中提取作为上下文,它是 ValidationContext,所以需要先创建 ValidationContext

    85340

    ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

    1.3 数据验证和注解 在ASP.NET Core MVC中,数据验证是通过注解(Attributes)来实现的,这些注解用于在Models类上标记属性,定义数据验证规则。...return View(); } 在这个例子中,Person 对象包含了 Address 对象作为其属性ASP.NET Core MVC框架会递归地执行数据绑定,将请求的数据映射到 Person 对象中...return View(); } 在这个例子中,Items 属性是一个字符串列表,ASP.NET Core MVC框架将尝试将请求中的数据映射到该列表中。 3....-- 显示模型属性 --> @Model.Title <!...这些是一些通用的ASP.NET Core MVC的佳实践和注意事项。根据具体项目的需求和规模,可能还需要进一步考虑其他方面的最佳实践,例如分布式缓存、日志记录策略等。

    51810

    ASP.NET MVC Model元数据及其定制: Model元数据的定制

    [本文已经同步到《How ASP.NET MVC Works?》...“HiddenInput”为ASP.NET MVC自身定义的一个默认模板名称,也就是说当目标元素应用了HiddenInputAttribute特性,这个默认模板别用来实现对其的UI呈现。...如下面的代码片断所示,DisplayAttribute具有5个基本属性,其中Name和ShortName为目标元素设置一个显示名称和简短的显示名称。...其中属性Bar上应用了DisplayNameAttribute并将显示名称设置为“Bar”,而属性Baz上同时应用了DisplayAttribute和DisplayNameAttribute特性并分别讲显示名称设置为...MVC Model元数据及其定制: Model元数据的定制 ASP.NET MVC Model元数据及其定制:一个重要的接口IMetadataAware

    1.8K50

    如何定制Numeric属性字段验证消息

    对于一个Numeric属性/字段,ASP.NET MVC会自动进行数据类型的验证(客户端验证),以确保输入的是一个有效的数字,但是呈现在页面上的错误消息总是一段固定的文本:“The field {0}...如下图所示,当我们输入一个非数字字符串作为Age字段的时候,验证错误信息显示为“The field 年龄 must be a number”,值得一提的是:当前线程的CurrentUICulture为zh-CN...针对数字类型字段进行验证的是一个名称为NumericModelValidator的ModelValidator,不过这是个定义在System.Web.Mvc程序集中俄内部类型。...在这里我们替换的是一个DataAnnotationsModelValidator,而它基于的ValidationAttribute是我们自定义的NumericAttribute。...如下面的代码片断所示,内部类型NumericAttribute是ValidationAttribute的子类,并且实现了IClientValidatable接口。

    1.2K110

    MVC 3.0 的新特性 摘要

    前言 ASP.NET MVC3 在 ASP.NET MVC 1 和 2 的基础上,增加了大量的特性,使得代码更加简化,并且可以深度扩展。...: Scott Guthrie's blog on the MVC 3 Preview Filtering in ASP.NET MVC 新的 ViewBag 属性 MVC2 中的控制器支持 ViewData...ValidationAttribute 类 在 .NET Framework4 中被改进 的ValidationAttribute 类支持新的 IsValid 重载,提供关于当前验证上下文的更多信息,例如什么对象被验证了...这允许你基于 Model 的其他属性来验证当前值,例如,新的 CompareAttribute 就允许你比较 Model 的两个属性的值,在下面的例子中,ComparePassword 属性必须匹配 Password...字典,例如,如果模型的某个属性仅仅支持管理员显示,你可以如下设置: public class ProductViewModel { [AdditionalMetadata("AdminOnly

    2.5K10

    ASP.NET MVC5中的Model验证

    Model验证是ASP.NET MVC中的重要部分,它主要用于判断输入的数据类型及值是否符合我们设定的规则,这篇文章就介绍下ASP.NET MVC中Model验证的几种方式。...注意,Age属性上并未标注RequiredAttribute,却依然提示Age字段必须,这是因为Age是int类型,int类型不能为null,对于不能为null的类型,ASP.NET MVC默认为是必须的...除此之外,ASP.NET MVC还会帮助我们进行数据类型的验证,如,若在年龄一栏输入非整数,那么验证将不会通过,且会提示数值不合法。...除了我们自己手写js代码外,ASP.NET MVC也提供了前端验证方法,要启用ASP.NET MVC提供的前端验证方法需要在页面中引入三个js文件: jquery-1.10.2.min.js(也可以是其它版本的...引用文件之后,运行程序,然后查看页面源代码,可以看到form中的input标签中多出了 data-val 属性以及其它的和数据注解相关的属性。 对于验证失败的信息,我们需要对用户进行相应的提醒。

    1.5K20

    【译】.NET 7 预览版 1 中的 ASP.NET Core 更新

    MVC:对端点路由、链接生成和参数绑定的改进。...视图和 Razor 页面中的可为空模型 在验证错误中使用 JSON 属性名称 改进了 dotnet watch 的控制台输出 将 dotnet watch 配置为始终重新启动以进行粗鲁的编辑 在 ValidationAttribute...在验证错误中使用 JSON 属性名称 当模型验证生成 ModelErrorDictionary 时,默认情况下它将使用属性名称作为错误键(“MyClass.PropertyName”)。...模型属性名称通常是一个实现细节,这会使它们难以从单页应用程序中处理。...您现在可以将验证配置为使用相应的 JSON 属性名称,而不是使用新的 SystemTextJsonValidationMetadataProvider(或使用 Json.NET 时的 NewtonsoftJsonValidationMetadataProvider

    4K10

    How ASP.NET MVC Works?

    一、ASP.NET + MVC IIS与ASP.NET管道 MVC、MVP以及Model2[上篇] MVC、MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在...“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活 ASP.NET MVC是如何运行的[...ASP.NET MVC的Model元数据与Model模板:预定义模板 ASP.NET MVC的Model元数据与Model模板:模板的获取与执行策略 ASP.NET MVC的Model元数据与...验证体系: ModelValidatorProviders ASP.NET MVC基于标注特性的Model验证:ValidationAttribute ASP.NET MVC基于标注特性的Model...MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 ASP.NET MVC

    1.5K60
    领券