MVC4 自定义不显眼的验证器不起作用

2024-03-24

不知道出了什么问题。语法似乎是正确的......但它仍然不会在客户端触发。如果我提交表单,我会得到服务器端验证,客户端什么也没有......

这是页面上的代码:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script>
<script type="text/javascript">
    // we add a custom jquery validation method
    (function ($) {
        $.validator.addMethod('additive', function (value, element, params) {
        //just return false to test it.
        return false;
    });
    // and an unobtrusive adapter
    $.validator.unobtrusive.adapters.add("additive", ["field2", "field3", "field4"], function (options) {
        var params = {
            field2: options.params.field2,
            field3: options.params.field3,
            field4: options.params.field4
        };
        options.rules['additive'] = params;
        if (options.message) {
            options.messages['additive'] = options.message;
        }
    });
}) (jQuery);
</script>

这是验证器上与客户端相关的部分(IClientValidatable):

public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
        {
            ModelClientValidationRule rule = new ModelClientValidationRule
            {
                ValidationType = "additive",
                ErrorMessage = "ERROR MESSAGE"
            };

            rule.ValidationParameters.Add("field2", propName2);
            rule.ValidationParameters.Add("field3", propName3);
            rule.ValidationParameters.Add("field4", propName4);

            yield return rule;
        }

该模型装饰如下:

[SumValidation("OtherField2...")]
public int MyField { get; set; }

当字段呈现时,一切都在那里,所有来自服务器端的 data-xxx 属性的东西。只是这个特定的客户端验证不会触发。有人看到我缺少什么吗?


弄清楚了。如果有人遇到这个。在页面上添加自定义验证太晚了。在我将自定义验证 javascript 移至 _Layout.cshtml 的头部部分后,它开始工作。

因此,如果您的脚本看起来正确,那么这是检查的好地方。

另一种解决方法是运行 $.validator.unobtrusive.parse('form');它会重新加载所有验证器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC4 自定义不显眼的验证器不起作用 的相关文章

随机推荐

  • 更新数据库 - 列不存在

    当我尝试使用时update database verbose force 我收到错误 ALTER TABLE DROP COLUMN failed because column countReferralsRegistrations doe
  • 使用音频队列框架录制的数据格式

    我正在编写一个 iPhone 应用程序 它应该记录用户的声音 并将音频数据输入到库中进行修改 例如改变速度和音调 我从 Apple 的 SpeakHere 示例代码开始 http developer apple com library io
  • 如何将点的图形属性添加到最终的点输出中

    我在 python 项目中使用 NetworkX 库创建图形表示 制作有向图我需要向我们的图输出添加一个属性 等级目录 LR 所以我正在编写代码 import networkx as nx graph nx DiGraph rankdir
  • git 克隆本地主机?

    我不太喜欢 ubuntu 但我成功地在我的客户端上设置了 git 并在服务器上设置了 gitosis 这是我引以为傲的 我将本地 ssh 公钥添加到 gitosos 的授权密钥中 并且可以克隆 推送 提交等 从我的本地计算机到服务器 一切都
  • thrd_busy 和 mtx_lock()/mtx_timedlock()

    我对 C1x 互斥体有以下问题 7 25 4 哪些情况可以mtx lock return thrd busy而不是阻塞 哪些情况可以mtx timedlock return thrd busy 注意thrd busy在 7 25 1 5 中
  • React Native 初始应用程序大小太大

    我知道这个问题之前问过 但提供的解决方案不足以减少应用程序的大小 我已经使用创建了一个应用程序react native init 尚未添加任何第三方库 只是一个你好世界应用程序 但其发布版本大小为 48mb 之后我用了def enableP
  • 无法使用 Jupyter Lab 或 Jupyter Notebook 运行任何 ipynb 文件(FileNotFoundError: [WinError 2] 系统找不到指定的文件)

    我在 Win10 上运行 JupyterLab JupyterNotebook 在 Windows 10 上运行 Python 和 PyCharm 每当我启动 JupyterLab JupyterNotebook 时 都会收到下面所述的错误
  • 如何在 Chef LWRP 定义中实现动态属性默认值

    我希望能够用 3 个参数来定义一个轻量级资源 其中两个是基本 基本参数 第三个是这两个参数的组合 我还想提供自定义第三个参数的可能性 例如 如何修改以下代码以实现上述行为full name属性 资源定义 actions install at
  • 从代码设置 silverlight 模板?

    如果我的模板放置在 ResourceDictionary 中 如何从代码中设置 control Template 从根本上讲 您需要附加到控件加载事件 此时您可以分配给 Template 属性 您可以从资源字典中检索模板 例如 假设您有一个
  • 捕获 python cgi 脚本后面的 url 路径?

    如果我举个例子来解释我的问题会更好 cgi 脚本的文件名 awesome URL http omgpython com awesome http omgpython com awesome awesome 脚本正常运行 我附加了一个 假 路
  • ios页面卷曲显示视图控制器

    嗨 我想让地图视图看起来像那样 我想让右下角像这样 当我单击它时 它会启动一个模态视图控制器 这个怎么做 请参阅这个问题 当然答案 iOS 上的卷页 https stackoverflow com questions 5435547 pag
  • 如何排除工作 git 存储库中的文件夹 (Visual Studio Code)

    我使用的是 Visual Studio Code 版本 0 7 10 我想使用版本控制 我认为现在是开始自学使用 git 的好时机 我以前从未使用过它 如何让 git 忽略我的 node modules 文件夹 此文件夹中的每个项目都列出了
  • Android中如何判断SD卡是否挂载?

    我正在开发一个 Android 应用程序 需要查看用户存储了哪些图像 问题是 如果用户通过 USB 电缆安装了 SD 卡 我无法读取磁盘上的图像列表 有谁知道有什么方法可以判断 USB 是否已安装 以便我可以弹出一条消息 通知用户它无法工作
  • GLSL 纹理立方体和纹理2D 在同一着色器中

    我似乎无法两者兼得texture2D and textureCube 在一个着色器中 当我这样做时 什么也没有显示 也没有错误 我用我自己的着色器加载器和 Apple GLSL 着色器生成器尝试了这一点 并且发生了同样的事情 即使我有也会发
  • #./ 和 #. 之间的区别./

    执行脚本有什么区别 test and test 例如 测试是简单的脚本 bin bash export OWNER NAME ANGEL 12 export ALIAS angelique 我知道结果 但不确定实际发生了什么 Thanks
  • 向我指出一些*带有*(单元)测试的开源项目[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 作为参考 我正在寻找一些带有单元测试的开源项目 Edit Surely there must更多 SQLite 有一个非常全面的测试套件
  • 在什么情况下Java性能会随着内存的增加而降低?

    我们正在 DEV 环境中对 Java 1 6 应用程序进行负载测试 JVM 堆分配为 2Gb Xms2048m Xmx2048m 在负载测试下 应用程序运行流畅 从未使用超过 1 25Gb 的堆 并且垃圾收集完全正常 在我们的UAT环境中
  • 为 python 2.7 而不是 3.4 安装 numpy

    我一直在努力为 python 2 7 而不是 3 4 安装 numpy 这两个版本都在我的 ubuntu 上 我努力了 sudo pip2 安装 numpy 但它说 Requirement already satisfied use upg
  • 自动同义词检测方法

    我目前正在研究一种基于神经网络的短文档分类方法 由于我正在使用的语料库通常在十个单词左右 因此标准统计文档分类方法的用途有限 因此 我正在尝试对训练中提供的匹配实施某种形式的自动同义词检测 更具体地说 我的问题是关于解决以下情况 假设我有
  • MVC4 自定义不显眼的验证器不起作用

    不知道出了什么问题 语法似乎是正确的 但它仍然不会在客户端触发 如果我提交表单 我会得到服务器端验证 客户端什么也没有 这是页面上的代码 Scripts jquery validate min js gt Scripts jquery va