Angular 2自定义数据验证 - 改变风格

时间:2017-09-18 02:08:59

标签: javascript jquery html css angular

我正在尝试使用验证器根据数字输入中的输入值更改颜色。我有几个不同的范围应该对应不同的颜色。我为每个范围使用不同的验证器。以下是其中一个示例:

// Validation for scanid
  volumeValidationRange1(controls) {
    var vol = controls.value;
    if (vol > 10.0 && vol <= 20.0) {
      // controls.style.backgroundColor = 'orange';
      document.getElementById('123').style.backgroundColor = 'orange';
      return { 'volumeValidationRange1': true } // Return error in validation
    } else {
      return null; // return valid
    }
  }

我使用document.getElementById('123').style.backgroundColor = 'orange';时有效,但controls.style.backgroundColor = 'orange';不起作用。控件的类型为FormControl。有没有办法使用FormControl更改样式?

1 个答案:

答案 0 :(得分:0)

您无法通过FormControls访问任何样式&#39;方法和属性。
 在这种情况下,只有DOM元素具有此属性 您可以检查在构造函数中实例化的属性和方法:https://angular.io/api/forms/FormControl