Php 使用$.post()进行表单验证

Php 使用$.post()进行表单验证,php,javascript,jquery,api,validation,Php,Javascript,Jquery,Api,Validation,我正在使用basistance.de的Validation jQuery插件来验证表单#注册表单。表单数据应该通过$.post()以AJAX方式提交,而不是以通常的方式直接提交到服务器 JS代码 // Validate form $('.signup-form').validate({ rules: { signupName: { required: true, minlength: 3 } } }); // Submit to Serverside $('#

我正在使用basistance.de的Validation jQuery插件来验证表单
#注册表单
。表单数据应该通过
$.post()
以AJAX方式提交,而不是以通常的方式直接提交到服务器

JS代码

// Validate form
$('.signup-form').validate({
    rules: {
        signupName: { required: true, minlength: 3 }
    }
});


// Submit to Serverside
$('#submit-btn').click(function() {
    $.post('/api/register_user',
        $('#signup-modal .signup-form').serialize(),
        success: function() {
            console.log('posted!');
        }
    );
});
问题:如果用户输入的数据未通过jquery验证,则
#submit btn
上的单击处理程序仍将允许提交表单!有没有办法检查是否没有验证错误?

试试以下方法:

// Validate form
$('.signup-form').validate({
    rules: {
    signupName: { required: true, minlength: 3 }
   }
});


// Submit to Serverside
$('#submit-btn').click(function() {
    if ($('.signup-form').valid()) {
        $.post('/api/register_user',
            $('#signup-modal .signup-form').serialize(),
            success: function() {
                console.log('posted!');
            }
        );
     }
});
试试这个:

// Validate form
$('.signup-form').validate({
    rules: {
    signupName: { required: true, minlength: 3 }
   }
});


// Submit to Serverside
$('#submit-btn').click(function() {
    if ($('.signup-form').valid()) {
        $.post('/api/register_user',
            $('#signup-modal .signup-form').serialize(),
            success: function() {
                console.log('posted!');
            }
        );
     }
});

最好的方法是使用
submitHandler
选项验证:

$('.signup-form').validate({
    rules: {
        signupName: { required: true, minlength: 3 }
    },
    submitHandler: function(form){
      $.post('/api/register_user',
          $('#signup-modal .signup-form').serialize(),
          success: function() {
              console.log('posted!');
          }
      );
    }
});

一旦表单有效,将自动调用此函数。无需向提交按钮或提交事件附加任何新内容。

执行此操作的最佳方法是使用
submitHandler
选项验证:

$('.signup-form').validate({
    rules: {
        signupName: { required: true, minlength: 3 }
    },
    submitHandler: function(form){
      $.post('/api/register_user',
          $('#signup-modal .signup-form').serialize(),
          success: function() {
              console.log('posted!');
          }
      );
    }
});

一旦表单有效,将自动调用此函数。无需在提交按钮或提交事件中附加任何新内容。

始终确保在php文件中包含验证。仅在javascript中进行验证不会阻止没有javascript的机器人或用户。a<代码>如果($(“.signup form”).validate(){…}
?o、 始终确保在php文件中包含验证。仅在javascript中进行验证不会阻止没有javascript的机器人或用户。a<代码>如果($(“.signup form”).validate(){…}
?o、 我错过了开始。我错过了开始。