问题标签 [validation-application-bl]

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 回答
3565 浏览

c# - C# Model Validation - Validation Application Block or DataAnnotations?

I want to add validator attributes to my domain models (in an ASP.NET MVC app), and I'm trying to decide between 2 frameworks, the Validation Application Block and DataAnnotations. They appears to do similar tasks, so I want to pick the one which will be the most supported/used in the future. It seems DataAnnotations are newer (and built into the framework as of 3.5 SP1), so do people think the Validation Application Block will become obsolete?

[Marked as Community Wiki as this is subjective]

0 投票
2 回答
1964 浏览

c# - 通过配置使用验证应用程序块时未调用自定义验证器

我在配置文件中设置了一个规则集,其中有两个验证器,其中一个是内置的 NotNullValidator,另一个是自定义验证器。问题是我看到了 NotNullValidator 命中,但没有看到我的自定义验证器。

自定义验证器用于验证 Entity Framework 实体对象。

我已经使用调试器来确认 NotNull 被命中(我强制一个失败条件,所以我看到它设置了一个无效的结果),但它从来没有进入自定义的。

我使用 MVC 作为 Web 应用程序,因此我在该层的配置文件中定义了规则集,但我的自定义验证器是在另一个项目中定义的。但是,我不会认为这是一个问题,因为当我在 Visual Studio 2008 中使用企业库配置工具时,它能够为自定义验证器正确设置类型。同样,我相信自定义验证器构建良好,并且配置工具可以正确引用它。

有没有人知道问题可能是什么,或者甚至做什么/尝试进一步调试?

这是我的自定义验证器的精简版:

这是我在 Validation.config 中的规则集的 XML(NotNull 规则仅用于强制失败,因此我可以看到它被命中,并且确实如此):

这是我调用验证方式的精简版:

任何建议将不胜感激!

谢谢,

克里斯

0 投票
1 回答
1110 浏览

validation - MS 验证块或工作流规则引擎?

对于将要开发的大型应用程序,我们正在选择验证框架。虽然 Workflow Rules 引擎严格来说不是一个 Validation 框架,但它可以在不使用 Workflow 基础的情况下单独使用。它似乎为在运行时使用的数据库中指定规则提供了灵活性。但是,您似乎无法在代码中指定规则。

如果更大的灵活性是要求之一(不一定需要业务分析师编辑规则),您更喜欢两者中的哪一个,为什么?

0 投票
2 回答
1120 浏览

asp.net - 为什么要使用 PropertyProxyValidator?ASP.NET

我了解 PropertyProxyValidator 与 ASP.NET UI 集成。但是,它不能进行客户端验证。这与在 UI 中添加标签并在服务器端填充错误有何不同?

另外,如果我使用的是验证应用程序块,如果我不想在服务器端和客户端重复规则,你建议用什么方法进行客户端验证?

0 投票
1 回答
1689 浏览

c# - 使用 Unity 框架和验证应用程序块验证方法参数

问题

是否可以让Validation.Validate()验证应用程序块的方法将IParameterCollectionUnity 提供的每个参数视为我的自定义UserModel


背景:

我正在尝试同时使用 Unity 和验证应用程序块来验证方法参数。

我希望能够[RequiresValidation()]用适当的验证属性来表示一个方法和该方法的参数。

所以,像这样:

我创建了一个自定义 HandlerAttribute,它将启动对验证处理程序的调用,如图所示。

现在,验证处理程序将尝试验证方法的每个参数:

问题

Validation.Validate()方法将始终返回true。根据我的观察,似乎验证逻辑将parameter视为 anobject而不是 my UserModel


问题

是否可以让Validation.Validate()验证应用程序块的方法将IParameterCollectionUnity 提供的每个参数视为我的自定义UserModel

0 投票
1 回答
618 浏览

wcf - wcf 生成的类和验证应用程序块属性

我是验证应用程序块的新手,并试图将它与 wcf 一起使用...

我有一个 wcf 服务,它具有使用验证应用程序块定义的具有属性的验证规则的数据对象。

在我的客户端 (WPF) 上,我有一个服务参考。当我更新服务引用时,生成的类中没有验证规则属性。

如何从服务中获取规则?我错过了一些步骤,还是不可能?

0 投票
2 回答
996 浏览

.net - .Net 对象验证

我可以将验证应用程序块用于高性能程序吗?我的意思是当我从流中获取对象时,我需要在解析数据时验证它们的值。据我了解,涉及反射...

是否有任何替代工具可用于对象验证?

0 投票
2 回答
737 浏览

.net - 具有继承性的企业库验证应用程序块

我正在使用企业库验证应用程序块。

抽象类 A { public int fieldA; }

B类:A { }

我将验证器添加到类型 B。我无法找到字段 fieldA,而且即使我在配置中输入它,验证也不会成功。VAB 是否不考虑抽象类和继承的属性或字段?

0 投票
2 回答
434 浏览

wcf - wcf 和验证应用程序块单元测试

我正在尝试测试我为我的 wcf 服务设置的验证。最好的方法是什么?

XmlStringValidator 是我创建的自定义验证器。理想情况下,我想要类似的东西:

但在这种情况下,不会调用验证。

0 投票
1 回答
1299 浏览

.net - 企业图书馆验证应用程序块和国际化

设想

.NET/WPF 桌面应用程序应该本地化(或 MS 术语globalized)到与英语不同的语言。也就是说,需要完全采用 UI(标签、图标……)。

但是,应用程序的日志文件条目、审计跟踪条目和其他输出应保持为英文,以允许讲英语的服务/支持人员对其进行审查。他们不会说法语或中文。

该应用程序依赖 RESX 文件来完成本地化。

企业库验证块用于验证对象模型上的业务规则。

现在假设有一个服务在执行真正的业务逻辑之前验证其给定的对象模型参数。在某些情况下,它会收到无​​效的对象模型参数,但会尽最大努力继续执行。然而,无效对象模型数据的提供应记录在审计跟踪和日志文件中。

使用验证块的服务示例。

如代码注释中所述,当您在 EnterpriseLibrary 验证器上调用 Validate() 时,验证消息已经本地化为法语,您没有机会将它们写入例如英语日志文件。

在我们应用程序的其他区域中,我们使用一个消息类来封装资源 id 和参数,直到我们确定要使用哪种文化来解析实际的字符串值。您可以将其称为延迟资源解析。

任何想法如何向企业库验证块引入类似的机制?到目前为止的想法:

  • 暂时切换 CurrentCulture(我不喜欢这样,它只解决了一半的问题)
  • 修补企业库验证块(我也不喜欢那样)

感谢您的帮助和分享想法!