【问题标题】:MVC3 .valid() is always trueMVC3 .valid() 始终为真
【发布时间】:2012-11-23 10:48:01
【问题描述】:

我在元素上调用 JQuery .valid() 方法时遇到了一些问题。我有以下代码。有人用 ASP.net MVC 和不显眼的 javascript 管理过这个吗?

Javascript 代码

$(function() {
    $('#anchor').click(function () {
        if ($('#myform').valid()) {
            alert("it's valid");     
        } 
    });
});

HTML 视图输出

<div class="editor-label">
    <label for="FirstName">First name</label>
</div>
<div class="editor-field">
    <input data-val="true" data-val-required="The First name field is required." id="FirstName" name="FirstName" type="text" value="" />
    <span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
</div>

我尝试了各种方法,但看不到任何问题。当点击提交按钮时,表单本身正在正确验证。

【问题讨论】:

  • 你可能没有包含 jquery.validate.unobtrusive.js

标签: jquery asp.net-mvc jquery-validate unobtrusive-validation


【解决方案1】:

如果您使用的是有效插件 (http://docs.jquery.com/Plugins/Validation/valid),您必须在表单上使用 validate。

$("#myform").validate();
$("a.check").click(function() {
     alert("Valid: " + $("#myform").valid());
     return false;
});

【讨论】:

  • 它仍然返回true,代码如下 $(function () { $("#myform").validate(); $("#anchor").click(function () { alert ("有效:" + $("#myform").valid()); return false; }); });
猜你喜欢
  • 1970-01-01
  • 2016-01-20
  • 2016-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 2019-02-01
  • 2021-01-07
相关资源
最近更新 更多