【问题标题】:ASP.NET MVC validation attributes and JqueryASP.NET MVC 验证属性和 Jquery
【发布时间】:2011-06-29 15:34:56
【问题描述】:

我在提交时验证的字段上有 mvc 属性。尽管这些属性位于这些字段上,但如果单击 SaveDraft 按钮,我想覆盖它们的验证。现在我尝试使用 jquery 规则禁用字段验证,但 mvc 属性似乎覆盖了规则。如果单击其他按钮,如何使 MVC 属性忽略验证? 这是我想做的 onClick 示例,但它不起作用。


 $(".btnsave").click(function () {
        $('#WizForm').validate(

        {
            rules:
        {
            Title: false,
            Description: false  //dont validate this field onclick

        },
          }).Form();
});

【问题讨论】:

  • 这是 ASP.net 还是 ASP.net MVC?

标签: jquery asp.net-mvc validation


【解决方案1】:

您可以使用以下方法从元素中删除所有验证规则

$('#Password').rules('remove')

要删除特定规则使用

$('#Password').rules('remove', 'required')

并添加规则

$("#Password").rules("add", { minlength: 2 });

最后检查当前规则

$('#Password').rules()

注意如果您的选择器返回多个元素,则规则方法仅使用第一个元素

查看here for more

还要确保您拥有latest version越来越多的人在使用 IE 和 jQuery-validation-1.8 时遇到了麻烦

【讨论】:

  • 可能需要在删除规则后调用 $('#Password').blur() 才能显示更改。
【解决方案2】:

我可能只是不明白你的问题,但你不能让 btnSave 不引起验证吗?

<asp:Button id="bntSaveDraft" runat="server" Text="Button" CausesValidation="False" />

【讨论】:

  • 我使用 razor mvc。但我可以使用取消类来阻止按钮验证,但我需要能够向用户添加值的字段添加验证。所以我需要选择性地添加验证并选择性地禁用验证。 Jquery 规则似乎做得最好,但它不起作用。
【解决方案3】:

(发布以防其他人遇到与我在 MVC3 Unobtrusive 验证库中遇到的问题相同的问题)

Beygi 答案对我有用,但我在声明我的元素时犯了一个错误。

我只用 ID 标记声明了我的元素,而不用 NAME 标记。这不适用于 MVC3 Unobtrusive 验证库,因为它需要 NAME 标记。

<input id="firstName" value="" data-val="true" data-val-required="required" />

需要

<input id="firstName" **name="firstName"** value="" data-val="true" data-val-required="required" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多