Я переношу свой проект MVC на Dot net core и пытаюсь исправить старое условное форматирование в поле, которое отлично работало в MVC project .
Я помещаю проверку в поле Допущение как обязательное, если CategoryId больше 2. Ниже приведен код Я пытаюсь.
Модель
[Required(ErrorMessage = "*Required")]
public string CategoryId { get; set; }
[RequiredIf("CategoryId", Operator.GreaterThan, "2", ErrorMessage = "*Required")]
public string Assumptions { get; set; }
.cs html Просмотр
<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>
Проверка поля категории работает нормально, но для предположения (условное поле) не работает.
Что-то я упускаю или делаю неправильно.