我有一个表单,我正在通过 jQuery Validate 插件进行验证。除了一件事,一切都很好。
我有一个我使用的字段,即远程规则,并且我正在使用 AJAX 检查是否已经存在同名的应用程序记录。仅当用户更改字段中的值时,我才需要执行此验证。
这是我拥有的验证代码:
$('#createapp').validate({
    rules: {
      appname: {
        minlength: 8,
        required: true,
        remote: {
                url: "<?php echo base_url();?>app/application/check_app",
                type:"POST",
                async: false,
                data:  {
                appname: function() {
                return $("#appname").val();
          }
        }  
      }
      },
      apptitle: {
        required: true
      }
    },
    messages: {
        appname: {
      remote: "Application with same name already exists"
      }
     },
    highlight: function(label) {
        $(label).closest('.control-group').addClass('error');
    },
    success: function(label) {
        label
            .text('OK!').addClass('valid')
            .closest('.control-group').addClass('success');
    }
  });
我需要这样做:
仅当用户更改 appname 字段中的文本时才执行远程验证。我尝试使用依赖,但无法使其工作。这基本上是我尝试过的:
remote: {
            depends: function(element){
            return ($('#appname').val() != "<?php echo trim($application[0]->app_name) ?>" );
            }