【问题标题】:Unobtrusive Client Validation without accepting model不接受模型的不显眼的客户端验证
【发布时间】:2012-04-15 12:28:56
【问题描述】:

我有像这样的简单表单,它只接受两个值字符串操作和编辑文本。有没有办法在没有数据注释的情况下启用不显眼的客户端验证?还是我必须接受模型并使用数据注释?我只需要它来确保 editText 至少有 5 个字符长。

@using (Ajax.BeginForm("Action", "Controller", null, new AjaxOptions { OnFailure = "error", UpdateTargetId = "Pcedit" + @Model.ID}))
    {                                  
    <textarea rows="3" cols="2" name="editText" style="width:100%;"></textarea>
    <br />
    <input type="submit" name="action" value="Save"/>
    <input type="submit" name="action" value="Cancel"/>
    }

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 unobtrusive-validation


    【解决方案1】:

    我相信不显眼的客户端验证使用 jquery.validate 吗?因此,只需使用 javascript 在客户端直接调用它。比如:

    $("#myform").validate({
      rules: {
        editText: {
          required: true,
          minlength: 5
        }
      }
    });
    

    http://docs.jquery.com/Plugins/Validation/Methods/minlength

    【讨论】:

    • 它不会使用不显眼的验证,并将视图与支持模型分开。这样,您就实现了纯 javascript 验证。使用 mvc 进行不显眼的验证,您只需定义一次验证属性,它们可用于客户端和服务器端验证。现在你只有客户端,所以你需要单独做服务器验证。
    • 我很想知道你是如何做到这一点的。用一些规则添加 $("form").validate() 对我来说完全被忽略了。似乎不引人注目正在控制事物,而且看起来您不能在其中混合纯 jQuery 客户端验证规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 2012-07-11
    • 2012-02-27
    • 2011-05-10
    • 2011-07-22
    相关资源
    最近更新 更多