根据验证禁用表单提交

时间:2018-02-12 23:42:20

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

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

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

有关示例,请参阅附件摘录。



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>
&#13;
&#13;
&#13;