只在成功验证后设置绑定值
- 核对表
- 我搜索了问题追踪器,以了解与同一问题有关的未决问题,然后打开一个新的问题。
- 这个问题只涉及单个bug. 我将对任何其他问题提出新问题。
描述错误
将一个错误的值打入一个输入字段, 它绑定在一个变量上, 将会更新该变量, 尽管该条目的验证器返回一个错误 。
如何繁殖
示例提供两个入场,每个入场使用相同的验证符. 如果输入大于 0 , 校验器返回出错 。 入场使用相同的绑定.
在任何字段输入时,只有在验证成功的情况下,才应使用装订的“特定”方法。
目前,验证器似乎只用于向用户提供反馈,而它已经可以防止错误值的传播。
QQ 屏幕截图
无回复( N)
示例代码
开始 主软件包
导入( E) "fmt" (英语). "钢筋"
"fyne.io/fyne/v2" (英语). "fyne.io/fyne/v2/app" (中文(简体) ). "fyne.io/fyne/v2/容器" (中文(简体) ). "fyne.io/fyne/v2/data/bonding" (中文(简体) ). "fyne.io/fyne/v2/widget" (英语). (中文(简体) ).
func 主 () {
app:= app. new () (中文(简体) ). w: = app.NewWindow ("在调用装订的 Set () 之前的版本") w.resize(货币:NewSize(800,100))
缩写 MAX 英寸 = 0
字符串变量 := func(s) 字符串出错{ v, 错误: = stconv. Atoi (s) 如果错误 ! = 无 { 返回错误 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
如果 v > MAX { 返回 fmt。 错误f (“ 最大 :%d 得到 :%d ” , MAX, v) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
返回为零 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
Str:=绑定. IntToString( 绑定. NewInt ())
in1:= 部件。 NewEntry With Data( str) in1. 变量 = 字符串变量
in2 := 部件。NewEntry With Data(str) in2. 参数=字符串变量
w.Set Content( 容器. NewVBox () ) (中文(简体) ). 单位1, 单位2, 页:1
w. ShowAndRun () (英语). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
QQ Fyne 版本
2.5.2 国家
QQ 去编译器版本
1.23.2 (中文(简体) ).
操作系统和版本
Linuxmint 22 (英语).
补充信息
何以相关 :
# 1849 (英语).
#1704 (英语)内容来源: fyne-io/fyne