MVC3 .valid() 始终为真

Posted

技术标签:

【中文标题】MVC3 .valid() 始终为真【英文标题】:MVC3 .valid() is always true 【发布时间】: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 【参考方案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; ); );

以上是关于MVC3 .valid() 始终为真的主要内容,如果未能解决你的问题,请参考以下文章

当值为空时,Django modelSerializer form.is_valid() 为真

sss

如何避免短路评估

iview的自定义表单校验,valid显示undefined

KnockOut.js 验证始终为真/errors.length = 0

MVC3 jquery.validate.unobtrusive 覆盖选项而不编辑源?