gpt4 book ai didi

c# - Asp.Net Core 3.1 MVC 客户端验证不适用于位于 Areas 文件夹中的 View

转载 作者:行者123 更新时间:2023-12-02 19:30:28 24 4
gpt4 key购买 nike

我正在创建一个 ASP.NET Core 3.1 MVC 应用程序。我创建了一些逻辑,用户可以在其中创建 SellOffer。我想添加一些客户端验证。问题是当我输入无效数据时什么也没有发生。我做了一些研究,发现它可能与 _ValidationScriptsPartial.cshtml 有关。我想要验证的 View 位于 Areas 文件夹中,因此我只是将文件复制到该区域中的 Views 文件夹中,但它不起作用。这是我的代码。

这是 View 。

@model SellOfferDTO

@{
ViewData["Title"] = "Create";
}

<h1>Create</h1>

<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="ProductTitle" class="control-label"></label>
<input asp-for="ProductTitle" class="form-control" />
<span asp-validation-for="ProductTitle" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ProductDescription" class="control-label"></label>
<input asp-for="ProductDescription" class="form-control" />
<span asp-validation-for="ProductDescription" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ProductPrice" class="control-label"></label>
<input asp-for="ProductPrice" class="form-control" />
<span asp-validation-for="ProductPrice" class="text-danger"></span>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" asp-for="PriceIsNegotiable" /> @Html.DisplayNameFor(model => model.PriceIsNegotiable)
</label>
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" asp-for="CanReciveBuyOffers" /> @Html.DisplayNameFor(model => model.CanReciveBuyOffers)
</label>
</div>
<div class="form-group">
<label asp-for="Quantity" class="control-label"></label>
<input asp-for="Quantity" class="form-control" />
<span asp-validation-for="Quantity" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
</div>
</form>
</div>
</div>

<div>
<a asp-action="Index">Back to your Sell Offers</a>
</div>

这是我的 DTO。 (注意:我计划在使其工作后添加更多验证属性)

   public int Id { get; set; }
[StringLength(999999, ErrorMessage = "Products Title must be betwen 999999 and 3 in length", MinimumLength =3)]
public string ProductTitle { get; set; }
public string ProductDescription { get; set; }
public decimal ProductPrice { get; set; }
public decimal TotalPrice { get; set; }
public bool PriceIsNegotiable { get; set; }
public bool CanReciveBuyOffers { get; set; }
public int Quantity { get; set; }
public string TagsStr { get; set; }
public List<string> Tags { get; set; }

这是 _ValidationScriptsPartial.cshtml

<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

所以我的问题是客户端验证失败的原因

最佳答案

我找到了一个可能的解决方案。我添加了这个:

<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

对于 View 和验证来说似乎工作得很好。

关于c# - Asp.Net Core 3.1 MVC 客户端验证不适用于位于 Areas 文件夹中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61879450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com