我正在为 Blockly 制作一个自定义块,需要验证输入。在这种情况onchange
下,如果用户输入的输入值无效,我想警告他们。
这是我的块:
Blockly.Blocks['motor'] = {
init: function() {
this.setHelpUrl('http://www.example.com/');
this.setColour(65);
this.appendDummyInput()
.appendField("motor( ");
this.appendValueInput("port_number")
.setCheck("Number");
this.appendDummyInput()
.appendField(");");
this.setInputsInline(true);
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setTooltip('');
},
onchange: function(ev) {
if (this.getFieldValue('port_number') > '3') {
this.setWarningText('Port must be 0 - 3.');
} else {
this.setWarningText(null);
}
}
};
在Blockly 开发者页面上,它有一个获取输入值的基本示例。undefined
但是,每次onchange
发生火灾时,我都会收到退货。
如何处理这些输入的验证?我不想为输入创建下拉列表,因为我需要能够从变量、int 块等输入。