Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
Jquery MVC 4远程验证失败_Jquery_Asp.net Mvc_Jquery Validate_Unobtrusive Validation - Fatal编程技术网

Jquery MVC 4远程验证失败

Jquery MVC 4远程验证失败,jquery,asp.net-mvc,jquery-validate,unobtrusive-validation,Jquery,Asp.net Mvc,Jquery Validate,Unobtrusive Validation,我正在尝试实施远程验证,但未能调用操作方法: 当我在Firebug中测试时,页面上出现了一个错误,应该验证其中一个字段。这很可能是远程验证不起作用的根本原因 我在_LayoutView中的脚本 <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validat

我正在尝试实施远程验证,但未能调用操作方法:

当我在Firebug中测试时,页面上出现了一个错误,应该验证其中一个字段。这很可能是远程验证不起作用的根本原因

我在_LayoutView中的脚本

  <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
我尝试了jQuery1.8.0,但错误仍然存在

UserReg.Password是视图的一部分

   @Html.EditorFor(model => model.UserReg.Password)
这是该字段的呈现页面源:

     <input class="text-box single-line password" data-val="true" data-val-length="The Password must be at least 6 characters long." data-val-length-max="100" data-val-length-min="6" data-val-required="The Password field is required." id="UserReg_Password" name="UserReg.Password" type="password" value="" />


有什么想法吗?

我从布局视图中删除了这个脚本

  <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>


问题就解决了。客户端验证仍在工作。

我从_LayoutView中删除了此脚本

  <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>


问题就解决了。客户端验证仍在工作。

jQuery验证插件要求在验证规则中声明包含任何特殊字符“如点”的输入名称时,将其括在引号中

见:

具有复杂名称的字段(括号、点)

“如果表单包含使用非法名称的字段 JavaScript标识符,在使用 规则选项:“

如果您不能这样做,请尝试将此
输入切换为没有任何特殊字符的名称



旁注:您包括了jQuery验证v1.9.0。然而,即使是最新版本的插件v1.10.0,也没有经过测试,无法与jQuery 1.9.0配合使用。如果要保留jQuery 1.9.0,您必须使用Github的“预发行版”。

jQuery验证插件要求在验证规则中声明包含任何特殊字符的输入名称时,将其括在引号中

见:

具有复杂名称的字段(括号、点)

“如果表单包含使用非法名称的字段 JavaScript标识符,在使用 规则选项:“

如果您不能这样做,请尝试将此
输入切换为没有任何特殊字符的名称



旁注:您包括了jQuery验证v1.9.0。然而,即使是最新版本的插件v1.10.0,也没有经过测试,无法与jQuery 1.9.0配合使用。如果你想保持jQuery 1.9.0,你必须使用Github的“预发行版”。

jQuery验证插件要求在验证规则中声明包含任何特殊字符“如点”的
输入
名称
,并将其括在引号中<代码>“用户注册密码”
;如果您不能这样做,请尝试一个没有任何特殊字符的
名称
。请参阅:
jquery验证插件
要求在验证规则中声明包含任何特殊字符“如点”的
输入
名称
<代码>“用户注册密码”
;如果您不能这样做,请尝试一个没有任何特殊字符的
名称
。请参阅:不确定没有验证插件,客户端验证如何工作。但是您使用的版本没有使用jQuery1.9进行测试。此外,您的
输入
属性
名称包含非法字符,插件通常无法处理该字符。从
名称
中删除点。无法从名称中删除点。Razor视图引擎发出元素的名称和id。无论如何,客户端验证肯定是在删除1.9脚本的情况下进行的。据我所知,jQuery.validate和unobtrusive.validate是相互冲突的文件。两者都基于相同的基本库,但不引人注目。validate本身具有其他行为。我的经验是,由于它们相似,如果使用css类声明验证规则,通常会得到预期的结果,但用于相同验证的js声明将不起作用。我认为远程验证也应该有同样的问题。还解释了为什么删除jquery.validate修复了您的问题。不确定在没有validate插件的情况下客户端验证如何工作。但是您使用的版本没有使用jQuery1.9进行测试。此外,您的
输入
属性
名称包含非法字符,插件通常无法处理该字符。从
名称
中删除点。无法从名称中删除点。Razor视图引擎发出元素的名称和id。无论如何,客户端验证肯定是在删除1.9脚本的情况下进行的。据我所知,jQuery.validate和unobtrusive.validate是相互冲突的文件。两者都基于相同的基本库,但不引人注目。validate本身具有其他行为。我的经验是,由于它们相似,如果使用css类声明验证规则,通常会得到预期的结果,但用于相同验证的js声明将不起作用。我认为远程验证也应该有同样的问题。还解释了为什么删除jquery.validate修复了您的问题。