使用 Jquery 验证数据注释,不显示错误消息
Validating Data Annotation using Jquery, not displaying the error message
我有一个模型 属性 可以根据另一个 属性 的值在视图上要求或不要求其值。我在视图中实现如下。
<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();
});
该代码在验证代码时工作正常,但未显示消息。我错过了什么?
我也尝试使用 并将我的验证范围更改为如下所示,但它也没有用。
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
如果您不想为 validation.Here 添加数据注释,可以采用如下简单的解决方法:
1.Model:
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.Result:
我有一个模型 属性 可以根据另一个 属性 的值在视图上要求或不要求其值。我在视图中实现如下。
<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();
});
该代码在验证代码时工作正常,但未显示消息。我错过了什么?
我也尝试使用
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
如果您不想为 validation.Here 添加数据注释,可以采用如下简单的解决方法:
1.Model:
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.Result: