Asp.net mvc 重定向ASP.NET MVC核心客户端验证错误消息
我想使用TagHelpers和ASP.NET MVC CORE server生成的客户端验证(通过Jquery验证和不引人注目的验证),但不幸的是,我不能使用生成的默认span元素。例如:Asp.net mvc 重定向ASP.NET MVC核心客户端验证错误消息,asp.net-mvc,jquery-validate,asp.net-core-mvc,materialize,unobtrusive-validation,Asp.net Mvc,Jquery Validate,Asp.net Core Mvc,Materialize,Unobtrusive Validation,我想使用TagHelpers和ASP.NET MVC CORE server生成的客户端验证(通过Jquery验证和不引人注目的验证),但不幸的是,我不能使用生成的默认span元素。例如: <form asp-action="Index" asp-controller="Test" class="validate-form"> <div class="row"> <div class="inpu
<form asp-action="Index" asp-controller="Test" class="validate-form">
<div class="row">
<div class="input-field col s6">
<input asp-for="Id" class="validate" />
<span asp-validation-for="Id"></span>
</div>
</div>
<button type="submit">CREATE</button>
</form>
但不幸的是,由于ASP.NET添加了所有不引人注目的javascript,它似乎被忽略了。有人知道我的解决方案的更好的解决方案或修复方案吗?欢迎任何回答!是的,我试着制作自定义TagHelper,但找不到解决问题的方法。要更改错误元素,您需要使用
errorElement
选项。我在您的setDefaults()
方法中看不到这一点。但是,插件的默认值是标签
,如果Unobtrusive已经将其更改为span
,那么您唯一的选择就是首先不要使用Unobtrusive。请参阅:要更改错误元素,需要使用errorElement
选项。我在您的setDefaults()
方法中看不到这一点。但是,插件的默认值是标签
,如果Unobtrusive已经将其更改为span
,那么您唯一的选择就是首先不要使用Unobtrusive。见:
<form class="validate-form" action="/Opportunity/1" method="post"
novalidate="novalidate">
<div class="row">
<div class="input-field col s6">
<input class="validate valid" type="number" data-val="true" data-val-required="The Id field is required." id="Id" name="Id" value="1" aria-describedby="Id-error" aria-invalid="false">
<span class="field-validation-valid" data-valmsg-for="Id" data-valmsg-replace="true"></span>
</div>
</div>
<button type="submit">CREATE</button>
<input name="__RequestVerificationToken" type="hidden" value="...">
</form>
<div class="input-field col s12">
<input id="Id" type="text" class="validate">
<label for="Id" data-error="error message">Email</label>
</div>
$.validator.setDefaults({
errorClass: 'invalid',
validClass: "valid",
errorPlacement: function (error, element) {
$(element)
.parent('.input-field')
.find("label[for='" + element.attr("id") + "']")
.attr('data-error', error.text());
}
});