C格式的JavaScript表单验证
我需要使用JavaScript进行表单验证,以使字段成为必需字段。我用来检查输入字段的脚本需要表单名和字段名。我试图修改Html.BeginForm以包含表单名称,但现在提交不起作用,它在页面上显示System.Web.Mvc.Html.MvcForm{C格式的JavaScript表单验证,javascript,c#,Javascript,C#,我需要使用JavaScript进行表单验证,以使字段成为必需字段。我用来检查输入字段的脚本需要表单名和字段名。我试图修改Html.BeginForm以包含表单名称,但现在提交不起作用,它在页面上显示System.Web.Mvc.Html.MvcForm{ @using (Html.BeginForm(null, null, FormMethod.Post, new { id="frm", name = "frm"} )) { @Html.ValidationSummary(true) &
@using (Html.BeginForm(null, null, FormMethod.Post, new { id="frm", name = "frm"} )) {
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.PNTR_MAX)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PNTR_MAX)<br /><font style="color: red;">
@Html.ValidationMessageFor(model => model.PNTR_MAX)</font>
</div>
<script>
function validateForm() {
var x = document.forms["frm"]["PNTR_MAX"].value;
if (x == null || x == "" || x == " ") {
newcontent.innerHTML = "Error: PNTR Max is required";
return false;
}
}
</script>
更新输入现在已成功提交和更新,但表单验证不起作用
@using (Html.BeginForm("Edit", "Table9_1", FormMethod.Post, new { onsubmit = "validateForm", id="frm", name = "frm"} )) {
@Html.ValidationSummary(true)
<div class="editor-label">
@Html.LabelFor(model => model.PNTR_MAX)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.PNTR_MAX)<br /><font style="color: red;">
@Html.ValidationMessageFor(model => model.PNTR_MAX)</font>
</div>
<p id="demo"></p>
<script>
function validateForm() {
var x = document.forms["frm"]["PNTR_MAX"].value;
if (x == null || x == "" || x == " ") {
document.getElementById("demo").innerHTML = "Error: PNTR Max is required";
return false;
}
}
</script>
为什么不直接使用document.forms[0][PNTR_MAX]?或者MVC中内置的必填字段验证?另外,将操作和控制器名称设置为null可能是提交不起作用的原因。我认为更简单的方法是通过模型进行验证只需使用[required]这有什么意义?我不能使用模型进行验证,因为我不想讨论的原因。我知道这效率较低,但我必须使用javascript。