Когда ваша капсула использует примитивные типы (целое число в вашем случае), лучше создать свой собственный тип, производный от примитивов.
integer (MyAge) {
description (__DESCRIPTION__)
}
Ваше обучение NL может быть как My age is 25
, и вы можете пометить 25 как Integer.
input-view {
match: MyAge (this) {
to-input: GetMyAge (action)
}
message {
template (Testing MyAge)
}
render {
form {
// the intent that will be used when the form is submitted
on-submit {
goal: MyAge
value: viv.core.FormElement(id)
}
elements {
slider {
step(1)
id (id)
type (viv.core.Integer)
max-label ()
min-value (1)
max-value (123)
value("#{value(action.integerValue)}")
}
}
}
}
}
action (GetMyAge) {
type(Search)
description (__DESCRIPTION__)
collect {
input (integerValue) {
type (viv.core.Integer)
min (Required) max (One)
default-init {
intent {
goal: viv.core.Integer
value: viv.core.Integer (1)
}
}
}
computed-input (myInteger) {
type (viv.core.Integer)
min (Required) max (One)
compute {
intent {
goal: viv.core.Integer
}
}
}
}
output (viv.core.Integer)
Попробуйте и дайте нам знать, если это сработало.