Jquery 使用BeginForm helper时启动客户端验证

Jquery 使用BeginForm helper时启动客户端验证,jquery,asp.net-mvc-3,razor,Jquery,Asp.net Mvc 3,Razor,我正在开发一个asp.net mvc 3应用程序,我很难让我不引人注目的JS验证正常工作。我问过非常类似的问题,但由于我没有得到任何答案,但我认为我能够更好地定义我的问题,所以我现在写这个问题 在搜索如何使客户端验证工作的答案时,我看到必须有一些代码附加到submit按钮的click事件,该事件将启动验证过程。我不是100%确定这是真的,事实上这是我的问题,但是如果我是正确的,你能帮我添加我需要的JS,以便触发验证过程吗 这是我的表格: @using (Html.BeginForm("Recie

我正在开发一个asp.net mvc 3应用程序,我很难让我不引人注目的JS验证正常工作。我问过非常类似的问题,但由于我没有得到任何答案,但我认为我能够更好地定义我的问题,所以我现在写这个问题

在搜索如何使客户端验证工作的答案时,我看到必须有一些代码附加到submit按钮的click事件,该事件将启动验证过程。我不是100%确定这是真的,事实上这是我的问题,但是如果我是正确的,你能帮我添加我需要的JS,以便触发验证过程吗

这是我的表格:

@using (Html.BeginForm("RecieveDataFromDocument", "Forms", FormMethod.Post))
{
    @Html.ValidationSummary(true)
    <table border="1">
        <colgroup>
            <col span="1" style="width: 10%;" />
            <col span="1" style="width: 40%;" />
            <col span="1" style="width: 25%;" />
            <col span="1" style="width: 25%;" />
        </colgroup>
        @Html.Partial("_PartialHeader", Model)
        @Html.Partial("_PartialDrawing", Model)
        @Html.Partial("_PartialBody", Model)
        @Html.Partial("_PartialFooter", Model)
    </table>
    if (ViewBag.Status == 1)
    {
        <button type="submit" id="submitDocument">Save</button>   
    }
    else
    { 
        @Html.ActionLink("Back", "Index")
    }
}
我试图明确地包括:

 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>

在我看来。因此,这种设置无法正常工作。


<div>
<script type="text/javascript">
$(document).ready(function () {
    $('#submitDocument').click(function () {
        window.alert('Hi');
        var test = ($("#Forms").valid()); //Here code modified.
        window.alert('bye');
    })
});
$(文档).ready(函数(){ $(“#提交文档”)。单击(函数(){ window.alert('Hi'); var test=($(“#Forms”).valid();//此处代码已修改。 window.alert('bye'); }) });


$(文档).ready(函数(){
$(“#提交文档”)。单击(函数(){
window.alert('Hi');
var test=($(“#Forms”).valid();//此处代码已修改。
window.alert('bye');
})
});

您需要在页面上包含jQuery和jQuery验证插件脚本

如果您还包括ASP.NETMVC不引人注目的验证脚本,那么一切都将自动发生


编辑:您需要在jQuery验证后包含不引人注目的验证脚本,否则自动设置将无法工作。

您需要在页面上包含jQuery和jQuery验证插件脚本

如果您还包括ASP.NETMVC不引人注目的验证脚本,那么一切都将自动发生


编辑:在jQuery验证之后,您需要包含不引人注目的验证脚本,否则自动设置将无法工作。

@SLaks是正确的,在页面的标题部分包含必要的js文件,并使用浏览器中包含的开发人员工具(即Chrome或Safari)如果出现问题,请检查js控制台

如果要为窗体使用ID,请将“打开窗体”命令更改为

@使用(Html.BeginForm(“receivedatafromdocument”、“Forms”、FormMethod.Post)) {

}


并更正方法valid()以验证()

@SLaks是正确的,在页面的标题部分包含必要的js文件,并使用浏览器中包含的开发人员工具(即Chrome或Safari)检查js控制台是否出现问题

如果要为窗体使用ID,请将“打开窗体”命令更改为

@使用(Html.BeginForm(“receivedatafromdocument”、“Forms”、FormMethod.Post)) {

}


并将valid()方法更正为validate()

您在开发工具中看到了什么?很抱歉延迟。我明白了-“Valid不是一个函数”您在开发工具中看到了什么?很抱歉延迟。我明白了——“Valid不是一个函数”它似乎没有改变什么
形式
不是一个ID;它是一个控制器名称它似乎没有改变某些东西
形式
不是一个ID;这是一个控制器名称。请查看原始帖子的编辑,如果可能的话,写下我必须包含的内容(如果不需要,则排除)@Leron:现在你在开发工具中看到了什么?请查看原始帖子的编辑,如果可能的话,写下我必须包含的内容(如果不需要,则排除)@Leron:现在你在开发工具中看到了什么?
 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/plugins/jquery.validate.js")" type="text/javascript"></script>
<div>
<script type="text/javascript">
$(document).ready(function () {
    $('#submitDocument').click(function () {
        window.alert('Hi');
        var test = ($("#Forms").valid()); //Here code modified.
        window.alert('bye');
    })
});