|
13 | 13 | .buttons(v-if='buttonVisibility(field)') |
14 | 14 | button(v-for='btn in field.buttons', @click='btn.onclick(model, field)', :class='btn.classes') {{ btn.label }} |
15 | 15 | .hint(v-if='field.hint') {{ field.hint }} |
16 | | - .errors(v-if='errorsVisibility(field)') |
17 | | - span(v-for='(error, index) in field.errors', track-by='index') {{ error }} |
| 16 | + .errors(v-if='fieldErrors(field).length > 0') |
| 17 | + span(v-for='(error, index) in fieldErrors(field)', track-by='index') {{ error }} |
18 | 18 | </template> |
19 | 19 |
|
20 | 20 | <script> |
|
126 | 126 | // Get style classes of field |
127 | 127 | getFieldRowClasses(field) { |
128 | 128 | let baseClasses = { |
129 | | - error: field.errors && field.errors.length > 0, |
| 129 | + error: this.fieldErrors(field).length > 0, |
130 | 130 | disabled: this.fieldDisabled(field), |
131 | 131 | readonly: this.fieldReadonly(field), |
132 | 132 | featured: this.fieldFeatured(field), |
|
208 | 208 | // Child field executed validation |
209 | 209 | onFieldValidated(res, errors, field) { |
210 | 210 | this.errors = this.errors.filter(e => e.field != field.schema); |
211 | | - |
| 211 | +
|
212 | 212 | // Remove old errors for this field |
213 | 213 | if (!res && errors && errors.length > 0) { |
214 | 214 | // Add errors with this field |
|
263 | 263 | return field.buttons && field.buttons.length > 0; |
264 | 264 | }, |
265 | 265 | |
266 | | - errorsVisibility(field) { |
267 | | - return field.errors && field.errors.length > 0; |
| 266 | + fieldErrors(field) { |
| 267 | + let res = this.errors.filter(e => e.field == field); |
| 268 | + if (res.length > 0) |
| 269 | + console.log("res", res); |
| 270 | + let res2 = res.map(item => item.error); |
| 271 | + if (res2.length > 0) |
| 272 | + console.log("res2", res2); |
| 273 | + return res2; |
268 | 274 | } |
269 | 275 | } |
270 | 276 | }; |
|
0 commit comments