ASP.NET Core MVC 中的客户端验证

2024-03-13

我在让客户端验证在 ASP.NET Core MVC 中工作时遇到问题。我已经用谷歌搜索并应用了这里的示例(http://www.discuzfeed.com/code/lotooslo-mvc-6-client-side-validation-for-custom-attribute.html http://www.discuzfeed.com/code/lotooslo-mvc-6-client-side-validation-for-custom-attribute.html)但没有运气。

这是我的代码

属性

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public sealed class CannotBeRedAttribute : ValidationAttribute, IClientModelValidator
{  
    public override bool IsValid(object value)
    {
        var message = value as string;
        return false;
        //return message?.ToLower() == "red";
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(
        ClientModelValidationContext context)
    { 
        yield return new ModelClientValidationRule(
            "cannotbered",
            FormatErrorMessage(ErrorMessage));
    }
}

查看模型

    [CannotBeRed(ErrorMessage = "Not red!")]
    public string SelectedCompanyIds { get; set; }

View

<input type="hidden" name="test" class="form-control"     id="selectCompanyIdControl" data-bind="value: SelectedReportCompanyIds" asp-    for="SelectedCompanyIds" />

 @<script type="text/javascript">
    require(['jquery', 'knockout-es5', 'jquery-validation', 'jquery-validation-unobtrusive', 'pubsubjs', 'ReportEditViewModel'], function(jquery, knockout, jQueryVal, jQueryValUnobtrusive, pubsub, vm) {


        jquery(document).ready(function () {  

            jquery.validator.addMethod("cannotbered",
                function (value, element, parameters) {
                    alert("READ");
                    return value.toLowerCase() !== "red";
                });

            jquery.validator.unobtrusive.adapters.add('cannotbered', [], function (options) {
                alert("ADAPATER");
                options.rules.cannotbered = {};
                options.messages['cannotbered'] = options.message;
            });

忽略括号在视图中未正确闭合的事实,还有其他 JS 部分与淘汰赛有关,由于不相关而未在此处复制。

The GetClientValidationRules方法被命中,但 JS 中的警报却没有。仅供参考,当在 chrome 或 IE 中运行开发人员工具时,我可以看到 jquery 验证和不显眼的库已加载,并且没有控制台错误。输入框上的验证标签似乎没问题......

<input type="hidden" name="test" class="form-control" id="selectCompanyIdControl" data-bind="value: SelectedReportCompanyIds" data-val="true" data-val-cannotbered="Not red!" value="" />

所以我想我只是错过了一步,但无法想象它可能是什么。有什么指点吗?


None

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

ASP.NET Core MVC 中的客户端验证 的相关文章

随机推荐

  • SQL Server Express 的 SQL 代理/别名

    我找不到我需要的东西 或者我不知道要搜索什么 因为我们是一个大型团队 在我们的当地人中具有不同的设置 如果可能的话 可以以某种方式强制连接字符串在我们的当地人中持久存在 示例 在配置文件中
  • 如何在不阻塞的情况下向listview填充大量信息?

    我在后台线程上创建一个 ListViewItems 数组 然后在 ui 线程上用它填充我的列表视图 问题是 如果数组太大 则更新列表视图时 ui 会阻塞 有没有一种方法可以填充列表视图 同时对用户界面影响很小 如果您有大量数据进入其中 您可
  • 属性错误:模块“tensorflow”没有属性“变量”“错误”

    我已经使用tensor flow一天了 但是出现了一些麻烦 当我导入tensor flow时 会出现 AttributeError module object has no attribute variable 我使用Windows10 P
  • 如何结合BottomNavigationView和ViewPager?

    我需要帮助来组合 ViewPager 和 BottomNavigationView 但是 当我在 ViewPager 工作时滑动屏幕时 该片段会与另一个片段堆叠在一起 我该如何解决 堆叠片段 在刷卡之前的正常片段上 这是我的代码 MainA
  • 如何配置 actix-web 以接受来自任何来源的 CORS 请求?

    我正在使用 actix web 构建 REST API 如何配置 CORS 以接受来自任何来源的请求 Cors new lt Construct CORS middleware builder allowed origin localhos
  • AngularJS:访问 $routeProvider 中的范围变量

    我在 JSP 页面上有一个 Angular 应用程序 其中包含 ng init role 因此 当 JSP 从会话中提取角色属性时 body 标记将如下所示 我想访问这个role变量在 routeProvider 我尝试通过这样做 scop
  • 类型错误:无法读取未定义的属性“类型”(redux 工具包)

    我正在尝试使用 redux 工具包获取一些数据 但它不起作用 我只是不断收到错误TypeError Cannot read property type of undefined 我正确设置了商店 因为我有其他减速器工作正常 但是当我尝试异步
  • 在 C++ 中,如何在不使用 new 且不单独声明各个元素的情况下创建 `std::initializer_list` ?

    在 C 中 您可以在文件范围内声明一个数组 static foo a foo foo foo 各个 foo 对象具有静态存储 即它们不在运行时分配 如果我有一个由两个或多个派生类继承的基类 则以下内容将编译 但由于切片而无法按预期工作 st
  • 二维数组上的深度优先搜索

    我试图通过创建一个程序来学习 DFS 该程序可以引导我的食人魔穿过迷宫 二维数组 这类似于日常编程挑战 但我只用一个 1x1 食人魔来完成 My maze static int maze 2 1 0 0 0 0 0 0 0 0 0 0 1
  • 无效的配置对象:webpack.server.js

    我正在使用这个 webpack 文件并收到错误 这是网页包文件 const path require path module exports target node entry src index js output filename bu
  • 使用 php 从 POP3 服务器获取邮件

    我正在尝试从 POP3 获取邮件 我正在使用 POP3 邮件服务器 并且我正在尝试获取邮件内容并将其存储到我的项目的数据库表中 但我找不到任何 PHP 脚本 全部仅适用于 IMAP 您知道如何从 POP3 服务器获取邮件吗 Thanks 有
  • 如何在相对布局中以编程方式设置重力

    如何在相对布局中以编程方式设置重力 我有一个带有名称的 XML 布局chat viewer message xml如下
  • 当值 * 是 * 指定的值时,If Not 函数继续

    我正在尝试编写一个脚本来检查另一个工作表中的重复值 但我无法让它工作 在行problem如果函数always收益 是否设置为If Not or If LocationCell 不等于 Nothing 我确信这是一个明显的错误 但我无法理解
  • 如何使用Python将浮点数转换为具有预定义位数的定点数

    我有 numpy 格式的 float 32 个数字 假设是正数 我想将它们转换为具有预定义位数的定点数以降低精度 例如 数字 3 1415926 在 matlab 中通过使用函数 num2fixpt 变为 3 25 命令是 num2fixp
  • .bss 与 COMMON:什么去了哪里?

    来自我的书 bss 未初始化的全局 C 变量 COMMON 尚未分配的未初始化数据对象 我不得不说 我并没有看到明显的区别 我什至不太明白什么是未初始化 未分配的数据对象 似乎什么都没有 我用过 GNUreadelf工具尝试查看一些简单的
  • 从内核模块向用户空间通知 GPIO 中断[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我有一段代码可以检测内核模块中的 GPIO 中断 现在 我正在寻找一种机制 在检测到来自内核模块的 gpio 中断时通知用户空间 任何与不同选项
  • 如何根据 React 中的 javascript 对象渲染组件 X 次?

    我正在尝试渲染 X 数量的照片 具体取决于时间的长短OBJECT photos 是 我尝试过将数据附加到字符串中 但它不起作用 有什么好的解决办法吗 var RenderPhotos React createClass getInitial
  • Stata 的替代 IDE [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 I am used to R studio for R which has some features
  • C++ 对齐 new[]

    Overview 浏览时运算符 new 运算符 new cppreference com https en cppreference com w cpp memory new operator new 似乎我们有很多选项来分配具有特定对齐要
  • ASP.NET Core MVC 中的客户端验证

    我在让客户端验证在 ASP NET Core MVC 中工作时遇到问题 我已经用谷歌搜索并应用了这里的示例 http www discuzfeed com code lotooslo mvc 6 client side validation