|
314 | 314 | validation = this.config[key].validation, |
315 | 315 | noValidateFunc = typeof this.config[key].noValidate === 'function', |
316 | 316 | noValidate = this.config[key].noValidate || false, |
| 317 | + field = this.config[key].field, |
| 318 | + tagName = this.config[key].field.tagName.toLowerCase(), |
317 | 319 | valid = false, |
318 | 320 | value = null; |
319 | 321 |
|
|
332 | 334 |
|
333 | 335 | if (validation && !noValidate) { |
334 | 336 | valid = this._validateField(key, value); |
| 337 | + } else if (tagName === 'mm-repeater') { |
| 338 | + // special case for mm-repeater |
| 339 | + // mm-repeater will handle it's own validation |
| 340 | + // TODO: Make sure mm-repeater returns something |
| 341 | + valid = field.validate(); |
| 342 | + } else if (validation && noValidate) { |
| 343 | + // clean up prior validations if they were there |
| 344 | + this.resetFieldValidation(key); |
| 345 | + } |
335 | 346 |
|
336 | | - // Store valid and invalid for this validation pass |
| 347 | + // Store valid and invalid for this validation pass |
| 348 | + if (validation && !noValidate || tagName === 'mm-repeater' && !noValidate) { |
337 | 349 | if (valid) { |
338 | 350 | this._validFields.push(key); |
339 | 351 | } else { |
340 | 352 | this._invalidFields.push(key); |
341 | 353 | } |
342 | | - } else if (validation && noValidate) { |
343 | | - // clean up prior validations if they were there |
344 | | - this.resetFieldValidation(key); |
345 | | - } else { |
346 | | - // special case for mm-repeater |
347 | | - // mm-repeater will handle it's own validation |
348 | | - var field = this.config[key].field, |
349 | | - tagName = field.tagName.toLowerCase(); |
350 | | - |
351 | | - if (tagName === 'mm-repeater') { |
352 | | - field.validate(); |
353 | | - } |
354 | 354 | } |
355 | 355 |
|
356 | 356 | // show messaging in the footer |
|
0 commit comments