Я создаю собственный блок для 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);
}
}
};
На странице блочных разработчиков есть базовый пример получение входного значения. Однако я продолжаю получать undefined
, возвращаемый каждый раз, когда onchange
срабатывает.
Как я могу выполнить проверку этих входных данных? Я не хочу создавать раскрывающийся список для ввода, потому что мне нужно иметь возможность вводить данные из переменных, блоков int и т. Д.
this
? - person Irina Rapoport   schedule 16.05.2015this
был тем экземпляром. - person swatkins   schedule 18.05.2015