asp.net-mvc - 基于验证禁用表单提交

标签 asp.net-mvc asp.net-core

我正在学习 ASP.NET Core (v 2.0)。有一个带有几个输入文本框和一个提交按钮的表单。我只想允许用户提交有效的表单,因此当表单不完整时,我希望禁用提交按钮。

有没有办法使用 ASP.NET Core 轻松做到这一点model validation ?

谢谢。

最佳答案

ASP.NET MVC 中没有任何内置功能可以自动为您执行此操作。您询问的 UI 模式需要 JavaScript 编码。

您可以下载并引用验证库,例如 jQuery Validation Plugin .然后在您的页面中编写一些 JavaScript 以检查表单在 blur 上是否有效。通过检查 $("#myForm").valid() 来查看每个表单输入的信息, 并且只有在表单有效时才启用提交按钮。

有关示例,请参阅附加的代码段。

var $form = $("#myform");
var $submitbutton = $("#submitbutton");

$form.on("blur", "input", () => {
  if ($form.valid()) {
    $submitbutton.removeAttr("disabled");   
  } else {
    $submitbutton.attr("disabled", "disabled");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>

<form id="myform">
  <input type="text" name="text1" required />
  <br/>
  <input type="text" name="text2" required />
  <br/>
  <button type="submit" id="submitbutton" disabled>Submit Enabled When Valid</button>
</form>

关于asp.net-mvc - 基于验证禁用表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757363/

相关文章:

c# - 在模型中实现默认值

c# - 如何使用 ASP.NET MVC 伪造或模拟用户登录(身份验证)以进行功能测试

c# - Identity Server 4 无法验证我的访问 token

asp.net-core - asp.net core数据保护 key 加密

asp.net-core - Kafka - 在 ASP.Net Core 中实例化生产者类时出错

msbuild - 通过 TFS 2015 部署 ASP.NET 5 (vNext)

asp.net-mvc - MVC OAUTH VS2012模板,redirect_uri在哪里输入?

asp.net-mvc - ASP.NET MVC 编辑多个子记录的示例

asp.net-mvc - 如果不点击 Microsoft 登录页面,则无法访问 Azure 上的 Web 应用程序

asp.net-core - 升级到 ASP.NET Core 3.1,出现有关 System.Text.Json 的错误