问题标签 [nhibernate-validator]

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 投票
2 回答
931 浏览

asp.net-mvc-2 - 如何在 NHibernate.Validator 中获取插值消息

我正在尝试将 NHibernate.Validator 与 ASP.NET MVC 客户端验证集成,我发现的唯一问题是我根本无法将非插值消息转换为人类可读的消息。我认为这将是一项简单的任务,但结果证明这是客户端验证中最难的部分。主要问题是因为它不是服务器端的,我实际上只需要正在使用的验证属性,而且我实际上没有实例或其他任何东西。

以下是我已经尝试过的一些摘录:

我知道上面是一个看似简单的问题的相当复杂的代码,但我仍然没有解决方案。有什么方法可以从 NHValidator 中取出插值字符串?

0 投票
1 回答
1547 浏览

c# - System.NullReferenceException with WhoCanHelpMe Unit Test

I'm working with a test project based on WhoCanHelpMe, which is based on Sharp Architecture, NHibernateValidator, etc. As its written the when_the_profile_tasks_is_asked_to_create_a_profile unit test creates the profile object and saves it without issue.

Now the profile object is a CreateProfileDetails type that derives from their own ValidatableValueObject which inherits the IValidatable interface.

The problem surfaces when my class is based on an Entity rather than their ValidatableValueObject. When the test is run a System.NullReferenceException because Validator is null.

I'm afraid that I'm at a loss to resolve this bad behavior. Does anyone have some suggestions to get to the bottom of this?

Thanks,

-Ted-

This is the stack trace:

This is the class hierarchy:

Source code is here http://code.google.com/p/sharp-architecture/source/browse/trunk/src/SharpArch/SharpArch.Core/DomainModel/ValidatableObject.cs>

Source code for validation registration: (sorry I'm a new user and can't post this as a link so you'll have to copy/paste) whocanhelpme.codeplex.com/SourceControl/changeset/view/58203#883241

0 投票
1 回答
341 浏览

validation - 如果配置了 ValidatorMode.UseExternal,ValidatorEngine.Validate 返回 null(无错误)

我正在将 nhibernate 验证器集成到我的应用程序中,并且属性的一切都很好,但是一旦我创建 *.nhv.xml 文件并将我的验证规则移到那里(作为嵌入式资源)

返回错误(实际上什么都没有,我的InvalidValue[]收藏是空的

我适合任何评论/建议

0 投票
3 回答
436 浏览

nhibernate - NHibernate 验证器和模式导出问题

我正在学习使用 NHibernate 验证器,它是 Fluent API (Loquacious)。

我注意到我不能将整数属性或可为空的 int 属性(int?)设置为不可为空。那么,为什么不呢?

在数据库中,整数列可以有空值。更糟糕的是,当我使用 SchemaExport 生成 DDL 时,整数列不会拾取该非空性(除非我在 Nhibernate 映射中表达它)。

0 投票
1 回答
954 浏览

nhibernate - NHibernate 验证器和 Null DateTime

那里必须有一个简单的解决方案,我正在尝试在我的 DateTime 属性上使用 NHibernate Validator 属性。如果值为 null (通过[NotNull]),我希望它验证失败。当我提交一个空值时,它会被转换为1/1/0001 12:00:00 AMNHibernate 并不会将其选为空值。我想我可以编写一个自定义验证规则,如果提交该日期,则返回 false,但肯定有一个标准的方法来解决这个问题吗?

澄清:这是一个示例类,

我有 NHibernate Validator 设置,因此在我的控制器中,我可以执行以下操作:

newExampleClass.IsValid()如果是真的,它将保留在数据库中,如果不是,我会返回newExampleClass.ValidationResults()

当我创建 的新实例时ExampleClassMySpecialDateProperty初始化为 1/1/0001 ...并且验证器不会将其作为空值。

编辑 2:我是否应该设置DateTime为可空 ( DateTime?),这会阻止 NHibernate 将值设置为最小 DateTime?

0 投票
1 回答
374 浏览

c# - NHibernate DecimalMin 验证器

我正在尝试使用 NHibernates Validator 库中的 DecimalMin 验证器。不幸的是,由于编译器的限制,我在尝试使用它时遇到了错误。我确信它很简单,但我正处于需要转移到另一项任务并且不再花时间在它上面的地步,所以任何帮助将不胜感激。

上面的代码使用构造函数值为 10.01 的 DecimalMin 属性。Attribute 的构造函数接受十进制值。但是,编译器不允许 10.01 或 10.01m。

我收到的值为 10.01:“无法将源类型 'double' 转换为目标类型 'decimal'

我收到的值为 10.01m:“属性参数必须是常量表达式、表达式类型或属性参数类型的数组创建表达式。”

我四处搜索试图找到答案,但我的 google-fu 今天让我失望了。

有没有人有一个如何使用这个验证器的例子?

0 投票
1 回答
150 浏览

nhibernate - NHibernate 验证器性能

您对 NHibernate 验证器的性能了解多少?我打算使用它,但它使用反射,我担心性能......

0 投票
1 回答
1663 浏览

c# - 休眠验证器的使用

假设我有一个值对象类 FullName,它用作 Employee 实体类中的属性。FullName 可能有中间名首字母、昵称等;但从域的角度来看,我只想强制 FullName 的 FirstName 和 LastName 属性都被重视。

我想将此表示为 EmployeeValidator 的一部分:ValidationDef{Employee} 对象,而不是属性。

我是否首先需要为 FullName(即 FirstAndLAstNameRequired)创建一个类验证器,然后说 Employee 中的 FullName 属性是有效的(使用一些 ValidAttribute 的啰嗦形式)?

顺便说一句,该文档似乎仍然是最好的,但它确实看起来已经过时了三年。我错过了什么新的东西吗?

干杯,
贝里尔

更新

我还没有弄清楚这一点,但我在这里找到了可能是 NIB 验证器信息的最佳来源: http ://fabiomaulo.blogspot.com/search/label/Validator

这里有一些伪代码也可以更好地表达这个问题:

大卫更新

0 投票
2 回答
1291 浏览

validation - MVC 3、NHIbernate 验证器和消息插值器

我已经按照这篇文章进行了通过测试,显示了当调用 Validator.IsValid(someEntity) 失败时从资源文件返回的自定义验证错误消息。

我试图将其转换为本文描述的 MVC3 中新的不显眼的客户端验证。这也或多或少有效 - 客户端验证确实如此,所以我可以假设我的 NHValidators 接线是好的,你可以看到以下是输出:

我的问题是这次 CustomMessageInterpolator 没有触发 - 资源字符串没有被翻译为这个属性(它仍然在花括号中):{NotNullNotEmpty}。

我的测试和网络都使用相同的 NHValidator 配置:

只是为了更好地衡量这里的模型片段:

我知道远射,但任何想法将不胜感激!

0 投票
2 回答
329 浏览

nhibernate - Nhibernate 3.1 的 Nhibernate 验证器

是否有适用于 Nhibernate 3.1 的版本?目前我有一个正在寻找 2.1.2.4000 的版本。有什么我可以改变的,以便能够将旧的 Nhibernate Validator 与新版本的 Nhibernate 一起使用?