如何在发送之前包含Ajax验证

时间:2014-10-28 18:26:41

标签: ajax validation

我设法让这段代码提交一个表单,它运行正常,但我无法实现验证器不需要它,但它显示没有消息只是不发送表单是空的。

我搜索过但不太可能。谁能帮我?

        <script type="text/javascript">
        jQuery(document).ready(function(){
            jQuery('#newsletter').submit(function(){
                    var dados = jQuery( this ).serialize();

                    jQuery.ajax({
                        type: "POST",
                        url: "newsletter_cadastrar.asp?f=1",
                        data: dados,
                        success: function( data )
                        {
                            $('#resultado-form-newsletter').html(data);
                        }
                    });

                    return false;
                });
        });
        </script>

<input id="nomenewslbase" name="nomenewslbase" type="text">
<input id="emailnewslbase" name="emailnewslbase" type="email">

感谢您的关注。

1 个答案:

答案 0 :(得分:0)

如果您正在寻找应用jquery验证规则,那么您可以这样做:

<script type="text/javascript">
    function ValidationRules() {
}

ValidationRules.prototype.initializeSaveValidators = function() {
    jQuery.validator.addMethod("csProjectName",
        function(value, element) {
            if ($.trim($('#txtProjectName').val()) == "") {
                if ($.trim($(element).val()) != '')
                    return true;
                else
                    return false;
            } else
                return true;
        }, "Project Name is required");

    jQuery.validator.addMethod("csDescription",
    function (value, element) {
        if ($.trim($('#txtDescription').val()) == "") {
            if ($.trim($(element).val()) != '')
                return true;
            else
                return false;
        }
        else
            return true;
    }, "Description is required");
};

ValidationRules.prototype.enableSaveValidators = function () {
    jQuery.validator.classRuleSettings.csProjectName = { csProjectName: true };
    jQuery.validator.classRuleSettings.csDescription = { csDescription: true };
};

ValidationRules.prototype.disableSaveValidators = function () {
    jQuery.validator.classRuleSettings.csProjectName = { csProjectName: false };
    jQuery.validator.classRuleSettings.csDescription = { csDescription: false };
};
jQuery(document).ready(function () {        
    var validationRules = new ValidationRules();
    validationRules.initializeSaveValidators();   
    validationRules.enableSaveValidators();      
    $("#btnsubmit").click(function () {                  
        applyjQueryValidation();
        return false;
    });
});
function applyjQueryValidation() {
        var isValid = $('#newsletter').valid();
        //here you can manually check for some extra validations
        if (isValid==true) {
            alert("valid");
            //here is you ajax call
        }else{
            alert("invalid");
        }      
}
</script>

此外,您还需要添加jquery.validate.js

以下是JSfiddle工作示例。