Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C格式的JavaScript表单验证_Javascript_C# - Fatal编程技术网

C格式的JavaScript表单验证

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) &

我需要使用JavaScript进行表单验证,以使字段成为必需字段。我用来检查输入字段的脚本需要表单名和字段名。我试图修改Html.BeginForm以包含表单名称,但现在提交不起作用,它在页面上显示System.Web.Mvc.Html.MvcForm{

 @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。