Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript 在弹出窗口内的部分视图中进行验证_Javascript_Jquery_Asp.net Mvc_Popup - Fatal编程技术网

Javascript 在弹出窗口内的部分视图中进行验证

Javascript 在弹出窗口内的部分视图中进行验证,javascript,jquery,asp.net-mvc,popup,Javascript,Jquery,Asp.net Mvc,Popup,我在MVC工作,我有一个场景如下: 我有一个名为ManageResource的视图,其中我将显示网格中的可用资源,并有一个按钮来添加新资源。如果单击“添加新资源”按钮,弹出窗口将打开,其中包含partialview,则当我单击“保存”而不输入任何值时,我必须在弹出窗口中显示验证结果,当我输入所需字段时,应在网格中填充值,并关闭弹出窗口` @Html.ValidationSummary(false) <div class="form-group">

我在MVC工作,我有一个场景如下: 我有一个名为ManageResource的视图,其中我将显示网格中的可用资源,并有一个按钮来添加新资源。如果单击“添加新资源”按钮,弹出窗口将打开,其中包含partialview,则当我单击“保存”而不输入任何值时,我必须在弹出窗口中显示验证结果,当我输入所需字段时,应在网格中填充值,并关闭弹出窗口`

        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}
iam无法在弹出窗口中获得验证结果,但可以保存数据的

        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}
以下是我的代码:

Model-tblUser
public partial class tblUser
{
        public int UID { get; set; }
         [Required]
        public int EmpID { get; set; }
         [Required]
        public string FirstName { get; set; }
         [Required]
        public string LastName { get; set; }       
         [Required]
        public decimal Salary { get; set; }       
}

View-ManageResource
        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}
@使用Html.begin { @Html.AntiForgeryToken

        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}

使用AJAX加载表单时,需要告诉jQuery unobtrusive validation将验证数据-属性添加到表单元素中

        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}
加载完成后

        @Html.ValidationSummary(false)

        <div class="form-group">
            @Html.LabelFor(model => model.EmpID, "Employee ID", new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.EmpID)
                @Html.ValidationMessageFor(model => model.EmpID)


            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.FirstName,"First Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.FirstName)
                @Html.ValidationMessageFor(model => model.FirstName)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.LastName,"Last Name",  new { @class = "control-label col-md-1 col-md-3" })
            <div class="col-md-6">
                @Html.EditorFor(model => model.LastName)
                @Html.ValidationMessageFor(model => model.LastName)
            </div>
        </div>        

        <div class="form-group">
            <div class="col-md-offset-5 col-md-10">
                <input type="button" id="CreateResource" onclick="SaveResource()" value="Create" class="btn btn-default" />
            </div>
        </div>
          </div>       
}
    function Create() {

            BootstrapDialog.show({
            title: "Add Resource",
            message: $('<div id="CreatePopup"></div>').load('@Url.Action("Create","Resource")'
            , function() {$.validator.unobtrusive.parse('#YourFormSelector');})
           });
            return false;
           }

plz格式化您的问题…成功:函数结果{if result==true{window.location.href='@Url.ActionManageResource,Resource';}否则{$CreatePopup.htmlresult;}};即使是真的,整个视图也会加载到CreatePopup div中。加载表单后,您是否检查了输入上是否存在数据验证属性?我已将提交类型置于按钮,并使用javascript,而不是在begin表单中指定返回的位置。。现在它工作得很好。。谢谢你的反馈