4

FluentValidation を使用して、単一のルールの失敗で例外をスローすることは可能ですか? たとえば、Validate() を呼び出して、以下の最初のルールは単純に検証し、2 番目のルールは false の場合に例外をスローします。

RuleFor(x => x.Title)
    .NotEmpty()
    .WithMessage("Please add a title for the project");

RuleFor(x => x.UserId)
    .NotEmpty()
    .WithMessage("User not supplied");

私はおそらく、FluentValidation に設計されていないことを強制しようとしています。そして、ValidateAndThrow() メソッドを認識していますが、これは失敗すると例外をスローします。

4

2 に答える 2

0

はい。これらの線に沿って何かを試してください -

FluentValidation と FluentValidation.TestHelper をディレクティブに追加します。

    private readonly IValidator<ItemViewModel> validator = new ItemValidator(); 
    //Assumes your fluent validation is in ItemValidator and your view model is ItemViewModel

    [Test]
    public void Headline_ShouldNotBeEmpty()
    {
        validator.ShouldHaveValidationErrorFor(f => f.message, string.Empty);
    }
于 2011-06-20T17:49:56.503 に答える