使用 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/