自定义客户端验证 jQuery 适配器不会在 ASP.Net Core 中触发

Posted

技术标签:

【中文标题】自定义客户端验证 jQuery 适配器不会在 ASP.Net Core 中触发【英文标题】:Custom Client-Side Validation jQuery adapters don't fire in ASP.Net Core 【发布时间】:2020-05-11 00:07:02 【问题描述】:

我在我的代码中添加了一个自定义验证属性,它在服务器端完美运行。但是在客户端,永远不会调用适配器。 addMethod(value, element, params) 被调用,但参数中的值始终为 true 但我希望能够做到这一点 var expectedValue = params.expectedvalue;

我做错了什么?提前致谢

(function($) 
  $.validator.addMethod("rangedecimal", function(value, element, params) 
    var minValue = element.attributes[8].value; // i want to be able to write params.minValue 
    var maxValue = element.attributes[7].value;
    if ((Number(value) > Number(maxValue)) || (Number(value) < Number(minValue))) 
      return false;
     else 
      return true;
    
  , "Le taux nominal  doit être compris entre 0 et 100");

  $.validator.unobtrusive.adapters.add('rangedecimal', ['minValue', 'maxValue'], function(options) 
    // Add validation rule for html elements that contain data-testvalidation attribute
    console.log(options, 'options');
    options.rules['rangedecimal'] = 
      // pass the data from data-testvalidation-expectedvalue to
      // the params argument of the testvalidation method
      minValue: options.params['minValue'],
      maxValue: options.params['maxValue']
    ;
    // get the error message from data-testvalidation-expectedvalue
    // so that unobtrusive validation can use it when validation rule fails
    options.messages['rangedecimal'] = options.message;
  );
(jQuery));

【问题讨论】:

【参考方案1】:

移除 DOM 就绪处理程序。 $(函数())

【讨论】:

以上是关于自定义客户端验证 jQuery 适配器不会在 ASP.Net Core 中触发的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC2 自定义 jQuery 验证:客户端

jQuery 验证 - 使用自定义单选按钮(打开/关闭)

自定义摘要身份验证

在自定义 Django 表单中验证和显示错误

IBM Worklight 6.0 - 如果客户端注销/登录,具有基本身份验证的适配器不会更新身份验证标头

jquery datepicker上的自定义动态验证直到第二个焦点才起作用