0

大家好,这行代码我启用了 jQuery 验证器来验证某些表单字段。

<script>
$(function() 
{
    $( "#date").datepicker( {autoSize: true, dateFormat: 'yy/mm/dd', showAnim: 'show' } );
});
$(function() 
{
    $( "#starttime, #stoptime, #starttime2, #stoptime2, #starttime3, #stoptime3, #starttime4, #stoptime4" ).timepicker( {autoSize: false, showAnim: 'show' } );
}); 
</script>

<script>
    $(function() {
        $("#productionlogform").validate({
            rules:  {
                date:   {
                    required: true,
                },
                starttime:  {
                    required: true,
                },
                stoptime:   {
                    required: true,
                }
            }
        });
    });
</script>   

如您所见,日期、开始时间和停止时间是必需的,因此在设置之前无法发布表单。

现在,如果我的表单中有一个删除按钮,这很烦人......

任何想法如何允许该按钮绕过验证规则?

4

2 回答 2

1

另外,不要忘记在服务器端进行验证。永远不应依赖客户端验证来防止人们输入不良/恶意数据。

于 2013-01-08T13:46:19.497 回答
0

抱歉 Bhavik Shah 我不能接受你的回答,但无论如何,validationEventTrigger 完成了这项工作。重写了我的代码,看起来像这样:

<script>
    $(function() {
    $("#deleteproductionlog").click(function () { 
        $("#productionlogform").validate().cancelSubmit = true;
    });
    $("#newproductionlog").click(function () { 
        $("#productionlogform").validate().cancelSubmit = true;
    });         
        $("#productionlogform").validate({
            rules:  {
                date:   {
                    required: true,
                },
                starttime:  {
                    required: true,
                },
                stoptime:   {
                    required: true,
                }
            },
        });     
    });
</script>

名为“deleteproductionlog”和“newproductionlog”的按钮将跳过表单的验证,该表单称为“productionlogform”。

于 2013-01-09T10:55:00.840 回答