我正在将我的 MVC 项目迁移到Dot net core,并且一直在尝试修复在 MVC 项目中运行良好的字段上的旧条件格式。
如果CategoryId大于 2,我将对Assumption字段进行强制验证。下面是我正在尝试的代码。
模型
[Required(ErrorMessage = "*Required")]
public string CategoryId { get; set; }
[RequiredIf("CategoryId", Operator.GreaterThan, "2", ErrorMessage = "*Required")]
public string Assumptions { get; set; }
.cshtml 查看
<div class="zs-col-md-5">
Select Category
</div>
<div class="zs-col-md-5">
<div>
@Html.DropDownListFor(x => x.CategoryId, new SelectList(Model.Categories, "Key", "Value",
Model.CategoryId), "--select--", new { @onchange = "ChangeCategoryddn(this)", @id = "category-id" })
</div>
@Html.ValidationMessageFor(model => model.CategoryId)
</div>
<div class="zs-col-md-5">
Assumptions
</div>
<div class="zs-col-md-5">
@Html.TextAreaFor(model => model.Assumptions})
@Html.ValidationMessageFor(model => model.Assumptions)
</div>
我已将 Nuget 包FoolProof.Core添加到我的项目中,并且还引用了以下 javascript 文件:
<script src="~/lib/jquery-3.4.1.js"></script>
<script src="~/lib/jquery.validate.min.js"></script>
<script src="~/lib/jquery.validate.unobtrusive.min.js"></script>
<script src="~/lib/mvcfoolproof.unobtrusive.min.js"></script>
类别字段的验证工作正常,但假设(条件字段)它不起作用。
有什么我遗漏或做错了什么。