【发布时间】:2015-04-12 10:39:54
【问题描述】:
我目前有一个用户表单
@using (Html.BeginForm("Iflexcst", "Costing", FormMethod.Post, new { onsubmit = "return (checkForm(this) && false);" }))
{
<label for="NUM">Number of Sets:</label>
<br>
<input class="foo" id="NUM" type="text" value=@ViewBag.Quantity name="Quan" />
<label for="CS"> Cost</label>
<br>
<input class="foo" id="CS" type="number" value=@ViewBag.result />
<input type="submit" value="Cost" />
还有一个在我按下提交按钮后验证的 javascript
<script type="text/javascript">
function checkForm(form) {
if (form.Quan.value == "") {
alert("Error: Username cannot be blank!");
form.username.focus();
return false;
}
re = /^\w+$/;
}
</script>
我希望用户表单在进行验证后不要将数据提交给控制器,因为我的 jquery 当前返回消息,但如果 NUM 为空,仍会进入控制器函数,该函数会发送错误。
如果上述是一个简单的解决方案,是否也可以在填写表单时进行验证,例如,如果用户输入一个小于 10 的数字,表单会立即显示一个弹出窗口并且不会让你提交直到这个错误被修复?
【问题讨论】:
-
为什么不直接将 jquery.validate.unobtrusive 与验证属性结合使用,然后开箱即用。
-
我需要用 nuget 管理器安装它吗?并包含在捆绑包中?
-
像这样?
-
它应该已经被默认包含(并且包含在
~/bundles/jqueryval中)。并且您需要学习使用模型并使用 html 助手绑定到您的模型。转到 MVC 站点并学习基本教程
标签: javascript jquery asp.net-mvc validation