ASP MVC中的表单验证

时间:2017-11-28 15:39:38

标签: javascript asp.net-mvc

在我看来,我有

 @using (Html.BeginForm(null,null,FormMethod.Post, new {onsubmit="return 
 validateForm(this);", name = "frm", id = "frm" }))

在我的JS文件中我有这段代码

function validateForm(form) {
alert("Called")
var x = form[model.username].value;
if (x == "") {
    alert("Name must be filled out");
    return false;
}
}

当我在JS中使用一个警报时,它可以工作。但是,当我在表单中传递时,即使用户名为空,也会提交其余数据。我正在使用ASP MVC 5

请问任何想法?

1 个答案:

答案 0 :(得分:0)

我们假设model.username包含 "johndoe123" 。然后使用该值,这意味着实际上您要求 form["johndoe123"].value ,我认为这不太可能返回值。它甚至可能会产生错误,尤其是modelmodel.username未定义时。

您可能想要请求一个 name =“username”的表单字段或类似内容,因此我将举例说明如何执行此操作:

var form = document.getElementById("theForm");
console.log(form);
console.log(form["username"]);
console.log(form["username"].value);
<form id="theForm">
  <input type="text" name="username" value="something">
</form>