【发布时间】:2020-12-23 02:58:54
【问题描述】:
我在 html Blazor 页面上有几个 InputNumber 字段。他们基本上跟踪成千上万的收入。许多用户更愿意在这些表格中输入 10,000 美元而不是 10000 美元,甚至是 10.000 美元。我如何使用 Blazor FluentValidation 语法来允许这样做,当然要确保用户正确格式化他们的输入?
对于上下文,这里是上述表单的当前验证代码:
public class BusinessDataValidator : AbstractValidator<BusinessData>
{
public BusinessDataValidator()
{
RuleFor(p => p.BusinessResellingGross).NotEmpty().WithMessage("You must enter a number");
RuleFor(p => p.PavementTaxGross).NotEmpty().WithMessage("You must enter a number");
RuleFor(p => p.CustomWorkServicesGross).NotEmpty().WithMessage("You must enter a number");
}
}
【问题讨论】:
-
您是否考虑过为这些数字添加客户端格式,并且仍然只发送原始整数(或小数)值?
-
不具体,这是最好的方法吗?
-
处理数值时,您希望尽量减少使用它们所需的工作量。处理单个通用数字,并在客户端上对该数字应用不同的格式,比尝试在服务器端代码中处理这些不同的用例要容易得多。
-
有道理,你有链接或什么让我开始吗?
-
输入屏蔽可能是您所追求的。你可以在这个 StackOverflow 问题中看到如何做到这一点:stackoverflow.com/questions/61541342/blazor-input-mask
标签: c# validation blazor