【问题标题】:fluent validation validator ignoring custom rules created in domain layer流利的验证验证器忽略在域层中创建的自定义规则
【发布时间】:2011-06-10 13:06:21
【问题描述】:

我有一个使用 LLBLGEN 生成的域模型,并且我使用 fluentvalidation.TestHelper 功能验证在域层创建的那些验证规则。

我的验证示例如下所示:

public partial class MyClassValidator : AbstractValidator< MyClass >    

{

public MyClassValidator()
{
RuleFor(x => x.MyObjMoneyValue)
.NotEmpty() 
.WithName("MyObjMoneyValue")
.WithState(x => NewFluentCustomState(x)); 

CustomRules();
} 
}

所以我有一组自定义规则,它们不是由 LLBLGEN 生成的,它是生成规则的部分类,它允许我编写一些基于数据库的自定义规则(即不为空)。

public partial class MyClassValidator 
{
    private void CustomRules()
    {
        RuleFor(q => q.MyObjMoneyValue)
            .GreaterThan(0)
            .WithMessage("Value must be greater than 0")
            .WithState(NewFluentCustomState);

我有一个测试来测试这个案例:

_validator.ShouldHaveValidationErrorFor(q => q.MyObjMoneyValue, 0);

但是,这无法测试自定义规则.. 知道如何测试自定义规则吗?

谢谢

【问题讨论】:

    标签: .net c#-4.0 fluent fluentvalidation llblgen


    【解决方案1】:

    您可以使用 Custom(x => x.) 进行自定义验证,无需其他方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 2017-12-01
      • 2011-05-20
      相关资源
      最近更新 更多