diff --git a/web/public/js/components/common/url-patterns-box.js b/web/public/js/components/common/url-patterns-box.js index c77d009b..6755317a 100644 --- a/web/public/js/components/common/url-patterns-box.js +++ b/web/public/js/components/common/url-patterns-box.js @@ -10,7 +10,9 @@ Vue.component("url-patterns-box", { isAdding: false, addingPattern: {"type": "wildcard", "pattern": ""}, - editingIndex: -1 + editingIndex: -1, + + patternIsInvalid: false } }, methods: { @@ -71,6 +73,27 @@ Vue.component("url-patterns-box", { }, notifyChange: function () { this.$emit("input", this.patterns) + }, + changePattern: function () { + this.patternIsInvalid = false + let pattern = this.addingPattern.pattern + switch (this.addingPattern.type) { + case "wildcard": + if (pattern.indexOf("?") >= 0) { + this.patternIsInvalid = true + } + break + case "regexp": + if (pattern.indexOf("?") >= 0) { + let pieces = pattern.split("?") + for (let i = 0; i < pieces.length - 1; i++) { + if (pieces[i].length == 0 || pieces[i][pieces[i].length - 1] != "\\") { + this.patternIsInvalid = true + } + } + } + break + } } }, template: `
@@ -90,14 +113,15 @@ Vue.component("url-patterns-box", {
- + +

通配符正则表达式中不能包含问号(?)及问号以后的内容。

- +