Skip to content

Commit 5b2abcf

Browse files
committed
Fix validation builder to store rules array, rather than pipe-delimited string. Closes #2252.
This is necessary for `regex` rules, as the `|` is a valid character within a regular expression.
1 parent c8dec99 commit 5b2abcf

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

resources/js/components/field-validation/Builder.vue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,10 @@ export default {
8787
8888
return rule.example || false;
8989
},
90-
91-
saveableRules() {
92-
return this.rules.map(rule => rule.trim()).join('|');
93-
}
9490
},
9591
9692
watch: {
97-
saveableRules: {
93+
rules: {
9894
deep: true,
9995
handler(rules) {
10096
this.$emit('updated', rules);
@@ -109,10 +105,16 @@ export default {
109105
methods: {
110106
getInitial() {
111107
this.rules = this.config.validate
112-
? this.config.validate.split('|').map(rule => rule.trim())
108+
? this.explodeRules(this.config.validate)
113109
: [];
114110
},
115111
112+
explodeRules(rules) {
113+
return typeof rules === 'string'
114+
? rules.split('|').map(rule => rule.trim())
115+
: rules;
116+
},
117+
116118
add(rule) {
117119
this.$refs.list.newItem = rule;
118120
this.$refs.list.$refs.newItem.focus();

0 commit comments

Comments
 (0)