Javascript jquery.valid()失败时,我的表单有什么无效之处?

Javascript jquery.valid()失败时,我的表单有什么无效之处?,javascript,jquery,asp.net-mvc,jquery-validate,Javascript,Jquery,Asp.net Mvc,Jquery Validate,我有一个简单的表单,我验证它,但是我检查它是否有效,它总是无效的。我如何检查我的表格是否无效?如果我用html替换razor代码来替换文本框,它似乎可以工作。我在下面发布了渲染的razor代码 这是我的表格- @using (Html.BeginForm("Search", "Home", FormMethod.Post, new { id = "MyForm", name = "MyForm" })) { <div class="form-group">

我有一个简单的表单,我验证它,但是我检查它是否有效,它总是无效的。我如何检查我的表格是否无效?如果我用html替换razor代码来替换文本框,它似乎可以工作。我在下面发布了渲染的razor代码

这是我的表格-

 @using (Html.BeginForm("Search", "Home", FormMethod.Post, new { id = "MyForm", name = "MyForm" }))
    {
        <div class="form-group">
            @Html.TextBoxFor(model => model.SearchQuery, new { @class = "form-control", name = "FullAddress", id = "FullAddress" })
            @Html.ValidationMessageFor(model => model.SearchQuery, "", new { @class = "text-danger" })

        </div>
        <button type="submit" class="btn btn-default">Search</button>
    }
表单的无效部分来自searchquery文本框。如果我将html更改为下面的一行,则表单将被视为有效

<input type="text" id="SearchQuery" name="SearchQuery"  class="form-control"/>

下面是呈现的razor代码的外观,它未通过我的表单验证检查

<input class="form-control" data-val="true" data-val-location="The location cannot be determined" data-val-required="The Location field is required." id="SearchQuery" name="SearchQuery" type="text" value="" />

您可以使用
validate()
返回的验证器对象的
errorList
属性:


属性是一个对象数组,其中每个对象都包含错误消息和HTML元素。

问题是我们不知道
.valid()
函数的作用。.valid是一个内置jquery方法。不,
valid()
内置于一个名为jqueryvalidation(您提供的链接)的插件中。不在jQuery中。您可以发布呈现的HTML代码,而不是这个。。。预处理器(?)代码?是的,我看到我的searchquery文本框无效,这就是为什么我的表单总是显示为无效。如果我将html更改为标准html标记,它就会通过。我将为文本框发布呈现的html。当我选中此选项时,它为空。但当我检查是否$(“#SearchQuery”).valid()无效。我把razor代码换成html,它就通过了。我在文章的底部显示了呈现的razor代码。它只在您自己编写时进行验证,因为您没有添加JQueryValidation所需的任何数据属性。。。
<input class="form-control" data-val="true" data-val-location="The location cannot be determined" data-val-required="The Location field is required." id="SearchQuery" name="SearchQuery" type="text" value="" />
var validator = $("#MyForm").validate(),
    errors = validator.errorList;