流利的验证从描述中删除逗号

Fluent validation remove comma from description

我正在使用流畅的验证库,class 不敢相信它是免费赠送的。但我遇到了一个问题,我需要预先验证文件并告诉他们纠正第三方程序中的错误并再次导出。

其中一个 critatea 必须是描述中不包含逗号是他们执行此操作的简单方法。现在我知道你要说什么了, "just replace the comma",但数据来自其他来源,我们希望他们先更正该数据。

public class FluentStockValidator : AbstractValidator<StockImportCsv>
{
    public FluentStockValidator()
    {


        RuleFor(x => x.Itemcode).NotEmpty().WithMessage("Item Code must not  be empty.");
        RuleFor(x => x.Itemcode).Length(1,30).WithMessage("Item Code must been between 1 and 30 chars long.");

        RuleFor(x => x.Barcode).NotEmpty().WithMessage("Barcode must not be empty.");
        RuleFor(x => x.description).NotEmpty().WithMessage("Description is required");

        RuleFor(x => x.Itemcode).NotEmpty().WithMessage("Item Code cannot be blank");
    }
}

你可以做到

        RuleFor(m => m.Description).NotEmpty().Must(x => !x.Contains(",")).WithMessage(YOURMESSAGE);

        RuleFor(m => m.Description).NotEmpty().Matches("^[^,]+$").WithMessage(YOURMESSAGE);

请注意,Must 仅适用于服务器端,因此如果您启用了客户端验证,并且 Description 带有逗号,它将通过客户端验证。根据 docs

匹配在服务器和客户端上都有效