Jquery Validation 不适用于 wordpress 插件

Posted

技术标签:

【中文标题】Jquery Validation 不适用于 wordpress 插件【英文标题】:Jquery Validation not work with wordpress plugin 【发布时间】:2018-03-12 02:44:04 【问题描述】:

我正在尝试在插件中使用 jquery Validation。

这是我的集成代码:

function addscripts( $hook )  

           wp_register_script( 'JqueryFile', plugin_dir_url( __FILE__ ) . '/Js/jquery.min.js', array( 'jquery') );
           wp_enqueue_script( 'JqueryFile' );

           wp_register_script( 'ValidationJ', plugin_dir_url( __FILE__ ) . '/Js/jquery.validate.min.js', array( 'jquery') ); 
           wp_enqueue_script( 'ValidationJ' );

           wp_register_script( 'Managment', plugin_dir_url( __FILE__ ) . '/Js/managment.js', array( 'jquery') );
           wp_enqueue_script( 'Managment' );

 
add_action( 'admin_enqueue_scripts', 'addscripts' );

文件managment.js

jQuery(document).ready(function($) 

     $("#add_new_collector").validate(
    rules: 
      collector_name: 
      minlength: 10,
      required: true
    ,submitHandler: add_collector
  ); 

添加功能

   function add_collector()
                var data = $("#add_new_collector").serialize();
                alert(data);
    
    ); 

验证不起作用

【问题讨论】:

请点击<> sn-p 编辑器并创建minimal reproducible example 【参考方案1】:

看来您需要从 $(document).ready 中取出函数 add_collector 以使其对提交可见

你还缺少一个括号:

function add_collector() 
  var data = $("#add_new_collector").serialize();
  alert(data);

$(function() 
  $("#add_new_collector").validate(
      rules: 
        collector_name: 
          minlength: 10,
          required: true
        
      ,
      submitHandler: add_collector
    
  );
);

或者只是

$(function() 
  $("#add_new_collector").validate(
    rules: 
      collector_name: 
        minlength: 10,
        required: true
      ,
      submitHandler: function() 
        var data = $("#add_new_collector").serialize();
        alert(data);
      
    
  );
);

【讨论】:

以上是关于Jquery Validation 不适用于 wordpress 插件的主要内容,如果未能解决你的问题,请参考以下文章

无效的限定符。 jQuery.validation.js

flask-restless validation_exceptions 不适用于 flask-sqlalchemy 模型中的少数列

表单验证不适用于表单 GET 方法

Laravel MIME 验证不适用于 .doc 文件

jQuery 不适用于 Express

jQuery 提交();不适用于火狐