我正在学习ASP.NET Core(v 2.0)。有一个表单,其中包含一些输入文本框和一个提交按钮。我想只允许用户提交有效表单,因此在表单不完整时,我希望禁用“提交”按钮。
有没有办法使用ASP.NET Core model validation轻松做到这一点?
感谢。
答案 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;