问题标签 [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 投票
3 回答
2434 浏览

c# - 模型枚举字段的 ASP.NET 自定义错误消息

我正在开发一个基于 EntityFrameworkCore 并针对 ASP.NET Core 2.1 的网站。我想为模型中的枚举字段指定错误消息,如下所示:

但是,仍然会生成股票消息:The value '0' is invalid. 问题似乎是在评估我的任何代码之前验证了 Enum 类型。这里介绍的两种方法(https://www.codeproject.com/Articles/1204077/ASP-NET-Core-MVC-Model-Validation),要么创建一个从 ValidationAttribute 继承的类,要么让模型都从 IValidatableObject 继承受此苦。

我找到了一种解决方法:将该字段声明为 int,然后使用自定义验证属性:

...然后是 ValidationAttribute 的子类:

这种方法有一些缺点,因为现在我需要在许多使用它的地方将字段转换为 Enum 类型。

有没有办法为 Enum 字段类型提供 ErrorMessage ?

更新

以下是一个最小示例(不再使用来自 ValidationAttribute 的 EnumCheck 子类,而是使用 @PéterCsajtai 提到的 EnumDataType):

模型

控制器

看法

表单发布后的输出:

表单输出

0 投票
3 回答
1729 浏览

c# - 当继承类的模型也有验证时,如何对其进行验证?

好吧,我的问题是我正在使用 aspnetcore 2.1 创建一个 api,为了避免代码重复,我创建了一个抽象类,其属性共享 dtos(板、板创建、板更新等)。我使用 ivalidatableobject 添加到抽象类个性化验证,现在,我想向从抽象类派生的类添加个性化验证,但它告诉我从 ivalidatableobject 接口扩展是可重复的,因为它已经在基类中声明,并且当我在派生类中添加 Validate 方法时,它告诉我它已经被声明和实现,那么,如何在抽象类和使用 ivalidatableobject 的派生类中添加验证?还是有另一种方法可以实现这一目标。先感谢您。

0 投票
1 回答
208 浏览

c# - 如何在 WPF 中使用 IValidatableObject 显示错误消息?

我正在使用 IValidatableObject 在 wpf 中验证我的模板。但是,错误信息不会返回到界面。然而,值得澄清的是验证是有效的。唯一的问题是消息没有显示在界面中。

这里接口XML

如何在此验证的界面上显示错误消息?

0 投票
1 回答
204 浏览

c# - 如何检查角色列表中的角色?

我需要检查角色是否在角色列表集合中,如果不是,则抛出验证结果。我该如何比较这个或者我该如何解决这个问题?

0 投票
1 回答
515 浏览

c# - 验证时 IValidatableObject 方法中的 asp.net mvc 问题

我在 asp.net mvc-5 中创建一个网络应用程序,

我正在使用 IValidatableObject 接口进行验证,

这是我的模型的外观,

我的观点

我的控制器

当我LicenseId = 0的验证不起作用并且我的控制器上的调试器直接执行时,但是当LicenseId > 0我的验证方法正在执行时。

0 投票
0 回答
30 浏览

c# - 使用 Validator.TryValidateObject 访问模型中的 IValidatableObject.Validate 方法

我有以下课程

我需要在逻辑中访问这个类的Validation并使用:

但验证只是验证字段,例如 Id,因为它是必需的,但它没有访问我的方法 Validate 的实现。

是否可以访问它?