1

fluentvalidation (fluentvalidation.MVC4 を使用したバージョン 3.4.6.0、jQuery 検証 1.9.0.1) に問題があります。値が 0 の場合、検証は失敗しますが、失敗すべきではありません。これが私のコードと失敗したテストです。

public class SomeModel
{
    public string Id { get; set; }
    public decimal Price { get; set; }
}

public class EditMachineValidator : AbstractValidator<SomeModel>
{
    public SomeModelValidator()
    {
        RuleFor(x => x.Price).NotEmpty();
        RuleFor(x => x.Price).GreaterThanOrEqualTo(0m);
    }
}

[Fact]
public void Should_Not_Have_Error_When_Price_Is_Zero()
{
    var validator = SomeModelValidator();
    validator.ShouldNotHaveValidationErrorFor(x => x.Price, 0m);
}

ここで何か間違ったことをしていますか?

4

1 に答える 1

2

いくつかのテストの後 GreaterThanOrEqualTo、問題ではありません。

それはから来ています

RuleFor(x => x.Price).NotEmpty();

値として0は!と見なされemptyます あなたがそれを取り除くならば、それは働きます。

于 2012-10-09T14:13:32.853 に答える