2

我正在将我的 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>

类别字段的验证工作正常,但假设(条件字段)它不起作用。

有什么我遗漏或做错了什么。

4

1 回答 1

0

在 Startup.cs 中添加 ConfigurationServices 以下行

services.AddFoolProof();
于 2021-06-08T14:22:24.507 回答