次のコードがあります。
public class NewsEditViewDataValidator : AbstractValidator<NewsEditViewData>
{
public NewsEditViewDataValidator()
{
// Status unique identifier cannot be empty
// Status unique identifier must be greater or equal to 1
RuleFor(x => x.StatusId)
.NotEmpty()
.WithMessage("Status is required")
.GreaterThanOrEqualTo(1)
.WithMessage("Status unique identifier must be greater or equal to 1");
// Other rule sets
}
}
StatusId は整数です。この場合、NotEmpty はどのように機能しますか? それは何を検証しますか?整数または文字列? 整数が空でないことをチェックするこの部分の単体テストはどのようになりますか?
これは、MVC 3 アプリケーションでドロップダウン リストを検証するために使用されます。検証はビューでうまく機能します。GreaterThanOrEqualTo の部分は、ステータスの一意の識別子が 1 未満になることはありません。これをトリガーして、オブジェクトを検証したいと考えています。このようにすると、NotEmpty も起動しないのはいつですか? どちらが最初に解雇されるかについて好みはありますか? StatusId が 0 の場合、どのルール セットが起動しますか? -1なら?ビジネス オブジェクトの ID をチェックするときに、ビューと GreaterThanOrEqualTo で NotEmpty を使用したいと考えています。助言がありますか?