繁体   English   中英

jQuery验证-模式规则不起作用,还会导致其他规则不起作用

[英]JQuery Validation - pattern rule not working and also causes other rules not to work

对于要验证的HTML表单输入,我具有以下Regex模式规则。 模式规则旨在遵循AWS S3路径的模式(例如s3://bucket/prefix/directory/ )。 但是由于某种原因,一旦我添加了此模式规则,它就会与所有其他规则一起停止工作。

JQuery的:

$(document).ready(function () {

    $('#regForm').validate({ // initialize the plugin
        rules: {
            stack_name: {
                required: true,
                minlength: 4,
                letterswithbasicpunc: true
            },
            resource_cfn_tmpl_deploy_bucket: {
                required: true
            },
            gpce_ssh_key_pair: {
                required: true
            },
            start_point: {
                required: true
            },
            qc: {
                required: false
            },
            input_uri: {
                required: true,
                pattern: /^s3://([^/]+)/(.*?([^/]+)/?)$/
            }
        },
        submitHandler: function (form) { // for demo
            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });

});

由于正则表达式文字用/ ,因此您必须转义模式中包含的/

/^s3:\/\/([^\/]+)\/(.*?([^\/]+)\/?)$/

(实际上, /也可以出现在[]而不会引起问题,因此这也可以):

/^s3:\/\/([^/]+)\/(.*?([^/]+)\/?)$/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM