5

我在我的项目中使用Fluent Validation 。
在我的 ViewModel 中,我有一个字符串类型的属性,有效值只是表示正整数的字符串。
因此,我创建了一个简单IntegerValidator的方法来检查字符串是否可以解析为整数。这行得通。
问题是,如何添加它必须是正整数的规则?我想使用现有的大于验证器,但将其链接到我的字符串属性的规则会将其比较为 a string,而不是作为已解析的int. 如何做到这一点?

我想做的示例(注意ToInt()):

RuleFor(x => x.BatchNumber).SetValidator(new IntegerValidator())
                           .ToInt().GreaterThan(0);
4

1 回答 1

1

您始终可以使用自定义方法...

RuleFor(x=>x.BatchNumber).Must(BeAPositiveIntegerString);

private bool BeAPositiveIntegerString(string batchNumber)
{
    // check both parse ability and greater than (once parsed)
}

可重用性较低,但会工作......

于 2011-11-15T13:52:33.817 回答