【发布时间】:2020-11-15 20:16:44
【问题描述】:
我已经构建了一个简单的 .net Core MVC 应用程序。 我有一个返回带有模型的 ViewResult 的操作:
public class Model {
public string A { get; set; }
public Model2 Model2 { get; set; }
}
public class Model2 {
public string B { get; set; }
}
还有一个 AbstractValidator:
services.AddTransient<IValidator<Model>, ModelValidator>();
public class ModelValidator : AbstractValidator<Model>
{
public ModelValidator()
{
RuleFor(x => x.Model2.B)
.NotEmpty().WithMessage("Required");
RuleFor(x => x.A)
.NotEmpty().WithMessage("Required");
}
}
我还包含 jquery、jquery.validate 和 jquery.validate.unobtrusive 以及正确的顺序。
我的问题:当我在 HTML 中添加输入标签时,不会为子类生成 data-val 属性。
@*Has data-val attributes*@
<div>
<label asp-for="A"></label>
<input asp-for="A" class="form-control" />
<span asp-validation-for="A" class="validation-error"></span>
</div>
@*Has no data-val attributes*@
<div>
<label asp-for="Model2.B"></label>
<input asp-for="Model2.B" class="form-control" />
<span asp-validation-for="Model2.B" class="validation-error"></span>
</div>
我忘记了什么?
【问题讨论】:
标签: c# asp.net-core-mvc unobtrusive-validation