我有些犹豫,要显示我的自定义错误/警告,这些错误/警告不是从 Controller 获得的。
我使用两种不同的方法来做到这一点。第一个是:
[MyHandlingAttribute("MyPage_FirstName_Required_Error")]
[StringLength(50)]
public string FirstName { get; set; }
第二种方法是在js上:
if($('#FirstName').val() == "")
showMyCustomAlertOrHint();
第一个看起来更好,但是似乎您应该去 Controller 处理它。所以这是一个代价。第二个似乎更有效,更快速,这取决于在客户端。
如果我做错了,请直说。
最佳答案
您可以使用第一种方法-用验证属性注释 View 模型,并仍然在配置文件中启用客户端验证。参见此 nice tutorial 。然后,您将获得一个干净漂亮的代码,而无需进行往返 Controller 的不必要往返操作。
启用客户端验证:
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
包括重要的JS文件:
@Scripts.Render("~/Scripts/jquery.validate.min.js")
@Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js")
呈现所需的输入字段和相应的验证消息:
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
关于jquery - 显示错误/警告的最佳方法是在MVC中使其显示或传递自定义属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412509/