Google Dialogflow条件响应不生效,如何判断双实体参数均已填写后跳转?
需求实现方案与问题修复
需求可行性说明
可以通过条件响应实现该需求,你当前代码运行异常由两处核心问题导致:
- 逻辑运算符使用错误:你采用的
OR为或逻辑,只要name、surname任意一个不为空格就会返回true,与「两个参数都输入才触发跳转」的要求不符,需将OR替换为AND与逻辑,只有两个参数同时满足非空条件才返回true。 - 代码语法与判断规则缺陷:
- 不等号语法错误:
! =中间不能存在空格,正确写法为!= - 空值判断逻辑不严谨:你当前判断的是不等于单个空格
" ",如果未赋值的参数实际返回空字符串""、null,该判断会失效,建议直接判断参数非空即可。
- 不等号语法错误:
修正后代码示例
if ($session.params.name != "" AND $session.params.surname != "") 'true' else 'false' endif
如果你的运行环境中未赋值的参数会返回null,可以调整判断逻辑为同时校验参数是否存在:
if (isset($session.params.name) AND isset($session.params.surname) AND $session.params.name != "" AND $session.params.surname != "") 'true' else 'false' endif
内容的提问来源于stack exchange,提问作者Ceyhun Tekin
相关产品推荐
相关产品推荐

