Javascript Ajax忽略html验证

Javascript Ajax忽略html验证,javascript,jquery,html,ajax,required,Javascript,Jquery,Html,Ajax,Required,这两个字段都有必需的属性,但即使这些字段中的值为空,ajax也会忽略#qty字段的最小值 为什么会这样 在发出ajax请求之前,请使用$('#formid').valid()方法阅读更多关于e的信息。preventDefault告诉事件不要执行提交表单的默认操作 然后,您将创建必填字段。那很好,但它们只会在提交时被检查。表单实际上在任何时候都没有被提交,您已经告诉它要阻止该操作 您需要添加一个$(“#表单”).submit();或者将required直接添加到html标记中 编辑:问题中添加了更

这两个字段都有必需的属性,但即使这些字段中的值为空,ajax也会忽略#qty字段的最小值


为什么会这样

在发出ajax请求之前,请使用
$('#formid').valid()
方法阅读更多关于

e的信息。preventDefault告诉事件不要执行提交表单的默认操作

然后,您将创建必填字段。那很好,但它们只会在提交时被检查。表单实际上在任何时候都没有被提交,您已经告诉它要阻止该操作

您需要添加一个$(“#表单”).submit();或者将required直接添加到html标记中


编辑:问题中添加了更多代码。这可能不再适用。

这还不是您的全部代码-显示足够多,以便我们了解您试图做的事情。此代码不会检查有效性,但是将
required
attr添加到这些元素中。@batmann您所做的事情完全奇怪,为什么您在单击时绑定验证而不是在
文档中绑定验证。准备好了吗
在页面加载时绑定所有验证规则更好,以了解更多信息我提供了一个链接,您可以在其中找到demo@Curiousdev因为我有第二个按钮删除其中我需要删除验证哪里说用户正在使用jQuery验证插件?Ohhh这是一个很好的插件,但他没有说他没有使用,甚至不用担心你可能是对的,但我也提供了一个链接,以防他想使用他所做的事情很奇怪,前面的链接提供了一个完整的演示示例
$('#addProduct').click(function (e) {
        $('#qty').attr('required', 'required');
        $('#product_id').attr('required', 'required');
        e.preventDefault();

var product_id = $('#product_id').val();
        var data = $("#editOrderContent").serializeArray();
        data.push(addProduct);

    $.ajax({
        type: 'POST',
        dataType: 'JSON',
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        url: $('#editOrderContent').attr('action'),
        data: data,

        success: function (html) {
            if (html.error) {
                $('.wrap_result')
                    .text(html.error)
                    .fadeIn(500).delay(3000).fadeOut(500);
            }
            else if (html.success) {
                $('#summary').before(html.tdProduct);
                $('#summary_qty').text(html.summaries['qty']);
                $('#summary_price').text(html.summaries['price'] + ' $.');
                $('#summary_sum').text(html.summaries['sum'] + ' $.');
                $('#product_id').val('');
                $('#qty').val(1);
            }
        }
    });
});