如何将ng-min或ng-pattern与ng-required一起使用?

时间:2017-06-05 16:28:29

标签: javascript angularjs

我有一些表格字段,有时不应该被要求。我想将ng-minng-patternng-required一起使用。

但是如果我在不需要字段时删除字段值本身(或以某种方式使它们无效)(ng-required是假的),表单仍然是无效状态,因为错误的值不能满足{ {1}}或ng-min

我认为ng-patternng-pattern在不需要时将{/ 1}}标记为无效(ng-min是假的)

1 个答案:

答案 0 :(得分:1)

这听起来像是自定义验证器的完美使用。有关自定义验证程序的角度小组的更多信息可以在here找到。我只想创建几个不同的自定义验证器,检查值是否为空并且或满足一些额外的模式或数字要求。

在npm上可能还有一个验证库,可以随时为您服务。

简单示例(未测试)

export const customMin(minimum: number): ValidatorFn {
  return (control: AbstractControl): {[key: string]: any} => {
    const val = control.value;
    const valid = val && val >= minimum ? true
    if (!val) {
      return {"minValue": true};
    } else {
      return val >= minimum ? return {"minValue": true} : null
    }
  };
}