jquery - 显示错误/警告的最佳方法是在MVC中使其显示或传递自定义属性?

标签 jquery asp.net-mvc model-view-controller error-handling

我有些犹豫,要显示我的自定义错误/警告,这些错误/警告不是从 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/

相关文章:

javascript - 仍然可以在 Firefox 中使用 offcanvas 菜单水平滚动

c# - 如何在 c# 中不使用 httppostedfilebase 发送电子邮件附件?

c# - 如何在 ASP.NET MVC 中使用 jQuery 将 varbinary 图像显示到 html 表?

jquery - 将表单数据序列化为 JSON

jquery - 想要将图像插入到 jQuery 自动完成标签中,但图像 src 以文本形式输出

javascript - jQuery - IE9 问题(打开调试器后即可工作)

c# - 检查特定表单字段是否有效

c# - ASP.NET 身份用户存储 : Why return Task?

python - 非数据库驱动模型的 Django MVC 模式?

javascript - 访问 javascript 或 jquery 文件中的 Controller / View 实例变量