使用jQuery Validation + AJAX检查可用性

时间:2019-06-19 17:04:45

标签: php jquery validation availability

嗨,我正在从事一个项目,但是我在进行验证时遇到了问题,我一直在阅读和搜索,但无法使其正常工作。我收到了此表格,首先要检查用户名是否已注册。我看了一些代码,但没有用。我有一个有效的工具,但是它没有数据库连接,我如何使其起作用?

这是代码,来自另一个问题:Another Question that is what i am looking for

这是我的JS

$( "#add_cliente" ).validate( {

rules: {
  nomb1_clie: {
    required: true,
    lettersonly: true,
    minlength: 2
  },
  nomb2_clie: {
    lettersonly: true,
    minlength: 2
  },
  apel1_clie: {
    required: true,
    lettersonly: true,
    minlength: 2
  },
  apel2_clie: {
    lettersonly: true,
    minlength: 2
  },
  usuar_clie: {
    required: true,
    minlength: 2,
    remote: {
    url: "../paginas/usuario_availability.php",
    type: "post",
    data:
          {
              user_availability: function()
              {
                  return $('#add_cliente :input[name="usuar_clie"]').val();
              }
          }
    }  
  },
  contr_clie: {
    required: true,
    minlength: 5
  },
  confirm_password: {
    required: true,
    minlength: 5,
    equalTo: "#contr_clie"
  },
  telef_clie: {
    required: true,
    number: false,
    minlength: 15
  },
  email_clie: {
    required: true,
    email: true
  },
},

messages: {
  nomb1_clie: {
    required: "Ingrese su Primer Nombre",
    lettersonly: "Tu Nombre solo debe contener letras sin espacios",
    minlength: "Tu Nombre debe contener al menos 2 caracteres"
  },
  nomb2_clie: {
    lettersonly: "Tu Nombre solo debe contener letras sin espacios",
    minlength: "Tu Nombre debe contener al menos 2 caracteres"
  },
  apel1_clie: {
    required: "Ingrese su Primer Apellido",
    lettersonly: "Tu Apellido solo debe contener letras sin espacios",
    minlength: "Tu Apellido debe contener al menos 2 caracteres"
  },
  apel2_clie: {
    lettersonly: "Tu Apellido solo debe contener letras sin espacio",
    minlength: "Tu Apellido debe contener al menos 2 caracteres"
  },
  usuar_clie: {
    required: "Ingrese un Nombre de Usuario",
    minlength: "Tu Nombre de Usuario debe contener al menos 2 caracteres",
    remote: jQuery.validator.format("{0} is already taken.")
  },
  contr_clie: {
    required: "Ingrese una Contraseña",
    minlength: "Tu Contraseña debe contener al menos 5 caracteres"
  },
  confirm_password: {
    required: "Ingrese una Contraseña",
    minlength: "Tu Contraseña debe contener al menos 5 caracteres",
    equalTo: "Ingrese la Misma Contraseña"
  },
  telef_clie: {
    required: "Ingrese un Número de Teléfono Valido",
    number: "Ingrese un Número de Teléfono Valido",
    minlength: "Ingrese un Número de Teléfono Valido"
  },
  email_clie: "Ingrese una Dirección de Correo Electrónico Válida"
},

errorElement: "em",
errorPlacement: function ( error, element ) {
  // Add the `invalid-feedback` class to the error element
  error.addClass( "invalid-feedback" );

  if ( element.prop( "type" ) === "checkbox" ) {
    error.insertAfter( element.next( "label" ) );
  } else {
    error.insertAfter( element );
  }
},
highlight: function ( element, errorClass, validClass ) {
  $( element ).addClass( "is-invalid" ).removeClass( "is-valid" );
},
unhighlight: function (element, errorClass, validClass) {
  $( element ).addClass( "is-valid" ).removeClass( "is-invalid" );
},

submitHandler: function( form ) {

var parametros = $( form ).serialize(); // I change 'this' to form
console.log(parametros); // for test purpose. See your log to confirm the result data
$('form :input').val('');

$.ajax({
  type: "POST",
  url: "../ajax/guardar_cliente.php",
  data: parametros,
   beforeSend: function(objeto){
    $("#resultados").html("Enviando...");
    },
  success: function(datos){
  $("#resultados").html(datos);
  load(1);
  $('#addClienteModal').modal('hide');
  }                     
});

} });

这是验证:

<?php       
$existing_users=array('AGUSTINGUANIPA','CRRGABY','jason'); 

$usuar_clie=$_POST['usuar_clie'];

if (in_array($usuar_clie, $existing_users))
{       
    echo "false"; //already registered
} 
else
{       
     echo "true";  //user name is available
}

?>

这当然是有效的。但不是我要去的。

这个想法是,我使用PHP可以携带所有注册的用户名,并向我显示存在或不存在的用户名。

工作原理照片:

Here is how it works

希望可以帮助我,我知道这很简单,没有修复,但我看不到。

0 个答案:

没有答案