我已经在Regex101.com上编写并严格测试了一个正则表达式,但是当将其实现到FormControl Validators.pattern方法中时,它将显示出意外的行为。
这是用于邮寄包裹的“宽度”输入。仅正值,最多2个小数位,最小值为(0.01),最大值随后针对API响应进行测试(不相关)。
package_validation_messages = {
'maxWidth': [
{type: 'required', message: 'Width is required.'},
{type: 'pattern', message: 'Invalid Width.'}
]
};
Run Code Online (Sandbox Code Playgroud)
this.packageSizeForm = this.formBuilder.group({
maxWidth: new FormControl('', Validators.compose([
Validators.pattern('^([+]?(([1-9]\d*(\.\d{1,2})?)|0\.(([1-9]\d?)|(\d[1-9]))))$'),
Validators.required
]))
});
Run Code Online (Sandbox Code Playgroud)
<div>
<input formControlName='maxWidth' type='text' required />
<span *ngFor="let validation of package_validation_messages.maxWidth">
<span *ngIf="packageSizeForm.get('maxWidth').hasError(validation.type) && (packageSizeForm.get('maxWidth').dirty || packageSizeForm.get('maxWidth').touched)">{{validation.message}}</span>
</span>
</div>
Run Code Online (Sandbox Code Playgroud)
以下屏幕截图说明了我在Regex101.com上进行的测试;您可以看到所有应该通过和失败的方案。

但是,正如您在此处看到的,与上面的预期行为相反,任何多位数的值都会使模式失败。

我们是一家快递服务公司。下订单后,我们希望向我们的司机发送送货工作。职位是先到先得。
订单在我们的 NodeJS 服务器上处理。在使用 Twilio Autopilot 处理对话(询问工作详细信息)时,向我们的每个司机发送短信 (SMS) 的有效方式是什么?
我似乎找不到一种方法来指示 Autopilot 为指定的出站电话号码发起对话。我曾经使用twilio.messages.create()与 Autopilot 相同的号码向司机(提供工作机会)发送短信。但是当司机回答时,Autopilot 对原始问题没有任何背景。