Свободный валидатор валидации, игнорирующий пользовательские правила, созданные на уровне домена - PullRequest
1 голос
/ 10 июня 2011

У меня есть сгенерированная модель домена с использованием 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);

Однако это не позволяет проверить пользовательские правила. Любая идея, как, как я могу проверить пользовательские правила?

спасибо

1 Ответ

2 голосов
/ 11 июля 2011

Вы можете использовать Custom (x => x.) Для своей пользовательской проверки без необходимости использования других методов

...