0

.Net Core 3.0 MVC 视图。需要申请 - 以下模型的客户端验证。

尝试如下:

型号:人

public class Person {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
        public int Age { get; set; }
    }

验证规则:

public class PersonValidator : AbstractValidator<Person> {
    public PersonValidator() {
        RuleFor(x => x.Id).NotNull().NotEmpty();
        RuleFor(x => x.Name).Length(0, 10);
        RuleFor(x => x.Email).EmailAddress();
        RuleFor(x => x.Age).InclusiveBetween(18, 60);
    }
}

遵循文档,它显示“验证器”属性,但我在命名空间中找不到。

https://docs.fluentvalidation.net/en/latest/mvc5.html

4

2 回答 2

0

能够弄清楚。

这需要在启动文件下添加,.AddMvc().AddFluentValidation()

因此,它能够自动选择客户端和服务器端的验证。谢谢。

于 2020-04-10T22:10:21.210 回答
0

您需要在 .AddMvc()(或 .AddControllersWithViews())之后添加 .AddFluentValidation() 以启用 Fluent Validation。

Fluent Validation 支持一些基本的客户端验证,例如 required、maxlength 等。如果您想在客户端使用所有服务器端验证,则需要使用 FormHelper 等第三方库。

Form Helper 可帮助您创建 ajax 表单和验证,而无需编写任何 javascript 代码。它将服务器端验证转换为客户端。在 Startup.cs 上添加 .AddFormHelper() 和 .UseFormHelper() 非常好用。

表单助手:https ://nuget.org/packages/FormHelper

文档:https ://github.com/sinanbozkus/formhelper

于 2020-04-15T11:05:38.800 回答