asp.net-mvc-3 - 将字段标记为必填项 'on the fly'

标签 asp.net-mvc-3 jquery-validate

使用 ASP.NET MVC3、Razor 和 jQuery Unobtrusive 验证(由 Microsoft 开箱即用)。

您如何将字段标记为“即时”所需,即仅在某些情况下?例如,如果用户是“发布者”角色,则有一个“发布日期”和“发布”按钮。按下“发布”按钮时需要“发布日期”字段,但按下“保存草稿”按钮时则不需要。如果用户不是该角色,则表单中不会显示“发布”按钮,因此不需要。

我确信这不是开箱即用的,客户端(jQuery 验证)和服务器端都需要额外的代码。如果可以的话,如何做到这一点并不明显。

最佳答案

如果您在 webform-land 中执行此操作,您将在按钮的单击事件处理程序中实例化一个 RequiredFieldValidator 并将其应用于应该成为必需的字段。

在 mvc-land 这并不明显。 This SO question/answer demonstrates how to handle a button click - 您可以扩展它以实例化一个 RequiredFieldValidator 并将其应用于该字段。

在 jquery 中,您可以添加如下内容:

$("#buttonid").on("click", function() { $("#fieldToBeRequiredId").rules("add", {
 required: true  }); }

关于asp.net-mvc-3 - 将字段标记为必填项 'on the fly',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473501/

相关文章:

asp.net-mvc-3 - webapi上传时出现"MIME multipart stream. MIME multipart message is not complete"错误

asp.net-mvc-3 - Dynamic LINQ 是否仍在使用并适用于缩小搜索结果?

javascript - jQuery Validator - 覆盖来自服务器的 bool 响应的验证消息

JQuery 远程验证(不阻止表单提交)

jquery - Chrome 中的低调验证不会使用 dd/mm/yyyy 进行验证

javascript - 如何重新排列 KendoGrid Tab 顺序?

c# - 在 ASP.NET MVC 中更改 View 的布局(母版页)而不重新创建它

javascript - JQuery 使用 Bootstrap 4 验证表单输入和突出显示标签

visual-studio-2010 - MVC3打开 View 编译后出现奇怪的错误

jquery - 正则表达式 jquery 验证