gpt4 book ai didi

c# - 使用Jquery验证数据注释,不显示错误消息

转载 作者:行者123 更新时间:2023-12-01 08:34:29 25 4
gpt4 key购买 nike

我有一个模型属性,根据另一个属性的值, View 上可能需要或不需要该属性的值。我在 View 中实现如下。

<input @Html.Raw(Model.IsRequired ? "required data-val=true' data-val-required='" + Model.Name + " selection is required.'" : "") asp-for="Name" class="form-control" />
if (Model.IsRequired)
{
<span asp-validation-for="Name" class="text-danger"></span>
}

根据必填字段值指示,是否应用验证。

我还必须添加这段代码。

$("#btnSubmit").on("click", function () {
$("#form").submit();
});

代码在验证代码时工作正常,但消息不显示。我错过了什么?

我还尝试使用 this answer并将我的验证范围更改为如下,但它也不起作用。

<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>

最佳答案

如果您不想添加数据注释进行验证。这里有一个简单的解决方法,如下所示:

1.型号:

public class TestModel
{
public string Name { get; set; }
public bool IsRequired { get; set; }
}

2.View(您需要更改您的@Html.Raw()并确保您已添加@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}):

@model TestModel
<form id="form">
<input @Html.Raw(Model.IsRequired ? "data-val='true' data-val-required='selection is required.'" : "") id="Name" name="Name" type="text" class="input-validation-error" />
@if (Model.IsRequired)
{
<span asp-validation-for="Name" class="text-danger"></span>
}

<input id="btnSubmit" type="submit" />
</form>

@section Scripts{
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

3. Controller :

public IActionResult Index()
{
var test = new TestModel() { IsRequired = true };
return View(test);
}

4.结果: enter image description here

关于c# - 使用Jquery验证数据注释,不显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58380994/

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