Jquery发布和html表单验证

时间:2017-10-14 09:55:41

标签: jquery html forms validation post

I $ .post();正确的一些形式元素与jquery。 现在,其中一些元素是必需的"当然我可以测试服务器端,如果它们被正确填充并返回响应,但如果我能触发经典的HTML所需的错误,那将是很好的,其中它也证明了缺失的领域。当然,我之后会对它们进行服务器测试,但至少我不需要用javascript进行突出显示。

我不想创建一个隐藏的帖子按钮。另外因为我一次发布了多个表格

formX.serialize() + formX+1.serialize() + ...

我想知道是否有办法。谢谢你。

2 个答案:

答案 0 :(得分:1)

你也可以在jQuery中使用serializeArray方法:https://api.jquery.com/serializeArray/

示例:

$(document).ready(function() {

var oParams = {
    'invalid_msgs' : {
      'title' : 'Kindly provide the title',
      'body' : 'Kindly provide the body',
      'type' : 'Kindly provide the type'
  },
};

$('#frm-add-content').submit(function(event) {
    event.preventDefault();
    var oFormData = $(this).serializeArray();
    // console.log(oFormData);

    for (var iIndex in oFormData) {

        if (oFormData.hasOwnProperty(iIndex) === true) {
            var sInputKeys = oFormData[iIndex].name; // (e.g title)
            var sInputValues = oFormData[iIndex].value; // (e.g Title 1)

            /* If in case there are [input] fields that
             * are not required in this case, You can set
             * condition like this
             * In this case, The input that had the [author] 
             * name attribute will be 'exempted' for validation
             */
            var aNotRequiredInputKeys = ['author'];
            if ($.inArray(sInputKeys, aNotRequiredInputKeys) < 0) {
                if ($.trim(sInputValues) === '') {
                    alert(oParams.invalid_msgs[sInputKeys]);
                    return false;
                }
            }

        }
    }

});

});

这里有一个参考资料:https://jsfiddle.net/xdp70kt3/2/

希望这能指导你。

另一方面,您还可以添加required html属性 你只想检查是否输入了值。

答案 1 :(得分:0)

您可以使用此jQuery插件验证表单:https://jqueryvalidation.org

您可以这样做:

$("#formX").validate({
   submitHandler: function(form) {
      $(form).ajaxSubmit();
   }
});