规则在 jQuery 验证函数中不起作用

Rules not work in jQuery validate function

我不知道我的代码有什么问题。我是 jQuery 验证函数的新手, 我想动态地使用 'required''true''false' 来分别添加和编辑页面。我想在编辑页面中将字段 'cate_image' 设置为 'not required',因为已经有一个图像被插入到 'add' 页面中,但只需要使用“accept”验证图像格式。帮帮我。

if($("#hidden_cate_id").val() > 0){
  var tf = "false";
}else{
  var tf = "true";
}

$("#form-addcategory").validate(
  {
    rules: {
      cate_name: { required: true },
      cate_image: { required: tf, accept: "image/jpg,image/jpeg,image/png" }
    },
    messages: {
      cate_name: { required: "Category name is required" },
      cate_image: { required: "Category image is required" }
    },
  });

如果 $("#hidden_cate_id"). 存在,我将 if 条件用于编辑页面 tf 值将 false 并且仅检查 accept 规则。但它不起作用!

if($("#hidden_cate_id").val() > 0){
  var tf = "false"; // pass boolean value false
}else{
  var tf = "true"; // pass boolean value true
}

在这种情况下,您将 true 和 false 值作为字符串传递

 rules: {
      cate_name: { required: true },
      cate_image: { required: tf, accept: "image/jpg,image/jpeg,image/png" } // tf as a boolean value
    },
    messages: {
      cate_name: { required: "Category name is required" },
      cate_image: { required: "Category image is required" }
    },

在此处验证您访问那些布尔值之类的值

变化:

if($("#hidden_cate_id").val() > 0){
  var tf = "false";
}else{
  var tf = "true";
}

收件人:

if($("#hidden_cate_id").val() > 0){
  var tf = false; 
}else{
  var tf = true; 
}