Knockout-Contrib/Knockout-Validation

validation may not work when relying only on parseInputAttributes

Open

#520 创建于 2015年1月24日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)JavaScript (1,024 star) (394 fork)batch import
bughelp wanted

描述

When parseInputAttributes: true and the observable is not validatable the input does not get a validation message inserted, nor the validation class validationElement.

The problem is in the validationCore binding as it asynchronously executes parseInputValidationAttributes. The later method will make the observable validatable if it matches some criteria (eg. input type is number/email, has a required attribute etc.)

Solutions:

  • execute parseInputValidationAttributes synchronously - this adds some overhead when bindings are applied.
  • duplicate code in the validationCore binding to ensure config.insertMessages and config.decorateInputElement are applied if the observable becomes validatable.

I've created a fiddle for this - it has both the solutions and some intructions on how to fix it. The interesting code starts at line 1016 in the JavaScript panel of JSFiddle.

http://jsfiddle.net/3594jm1o/

Any thoughts?

贡献者指南

validation may not work when relying only on parseInputAttributes · Knockout-Contrib/Knockout-Validation#520 | Good First Issue