【问题标题】:Ignore some javascript validations MVC3忽略一些 javascript 验证 MVC3
【发布时间】:2012-03-21 08:44:08
【问题描述】:

我正在使用 MVC3,我有一个这样的模型:

public class Foo
{
 [Required]
 [Range(0.01, 99.99)]       
 public double? f1{ get; set; }
}

我想忽略 javascript 范围验证,但保留所需的 javascript 验证。 我该怎么做?

【问题讨论】:

  • 你可以从你的html代码中删除@html.validatefor()
  • 但是需要呢?它将被删除。
  • 是的,我的逻辑有缺陷。

标签: javascript asp.net-mvc-3 user-input validation


【解决方案1】:

我找到了解决方案,只是从文本框中删除了一些属性:

$('#fieldId').removeAttr("data-val-range");
$('#fieldId').removeAttr("data-val-range-min");
$('#fieldId').removeAttr("data-val-range-max"); 

【讨论】:

    【解决方案2】:

    如果您不想要范围验证,则只需将其删除

    public class Foo
    {
     [Required(ErrorMessage="This field is required")]      
     public double? f1{ get; set; }
    }
    

    更新:

    要删除输入上的所有验证,您可以这样做

    $("#f1").rules("remove");
    

    对于删除范围验证,以下可能会起作用

    $("#f1").rules("remove", "min max");
    

    P.S 这可能不是最佳实践...

    【讨论】:

    • 我只想删除 javascript 验证和范围验证器。
    • 说如果你在 Range 验证器仍然存在的情况下禁用了 javascript 验证,并且用户输入了一个超出范围的值,那么 ModelState.IsValid 将始终为 false...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多