限制Watson Assistant(经典版)用户输入仅为数字,禁止文本输入
Watson Assistant(经典版)数字输入校验方案
方法一:正则表达式直接校验输入
- 在接收用户估值的节点中,添加条件判断,用正则表达式匹配纯数字输入:判断
input.text是否符合^\d+$(该规则匹配1个及以上连续纯数字,不允许任何非数字字符) - 若输入不匹配规则,直接返回提示:「请输入有效的纯数字估值,不要包含横线、字母等非数字内容」
- 只有输入匹配规则时,才执行将
input.text存入$vehicleworth变量的操作
方法二:对比实体提取结果与原始输入
- 利用@sys_number实体的
literal属性,对比提取出的数字与用户原始输入是否完全一致:添加条件input.text == @sys_number.literal - 如果两者不一致(比如用户输入「5---」时,@sys_number.literal是「5」,与原始输入不等),触发错误提示引导用户重新输入
- 一致时再完成
$vehicleworth的赋值
方法三:临时变量二次校验
- 先将@sys_number提取的数字存入临时变量
$temp_number - 通过
$temp_number.toString() == input.text.trim()判断用户输入是否为纯数字(去除首尾空格后和提取的数字字符串完全匹配) - 不匹配则提示修正,匹配则将
$temp_number赋值给$vehicleworth
内容的提问来源于stack exchange,提问作者HarveyBot
相关产品推荐
相关产品推荐

