是否可以验证在angular2-signaturepad上绘制的最小签名?

时间:2018-08-22 23:04:53

标签: javascript angular signaturepad

我正在使用angular2-signaturepad在angular 6应用程序中收集数字签名。有些用户只是画一条简单的点或直线。是否可以要求用户输入多个点或一行?我并不是要验证名称或完整签名,只是他们画的不仅仅是一个很小的签名。预先谢谢你。

2 个答案:

答案 0 :(得分:0)

我的建议是拍摄画布并检查像素

 var p = c.getImageData(x, y, 1, 1).data; 
 var hex = "#" + ("000000" + rgbToHex(p[0], p[1], p[2])).slice(-6);

因此,您应该检查有多少不为空。

Source

答案 1 :(得分:0)

您还可以验证signaturePad.toData()中最少xy点的数量。这是一个验证方法的示例,它寻找最少的点数。

hasComplexity(pad: SignaturePad, complexity?: number) {
  if (!complexity) {
    complexity = 10;
  }
  const points = pad.toData();
  const pointCount = [].concat.apply([], points).length;
  return points && pointCount >= complexity;
}

用法示例:

const isValid = this.hasComplexity(this.pad, 10);