假设我有一个带有 2 个 IntField 的表单。如何根据 IntField A 中的输入验证 IntField B?例如,如果 A == 1,则 B 只能在 0-30 之间;如果A == 2,B只能在0-50之间;else B 可以是任何其他数字
从我所能谷歌的所有内容中,我只能找到 IntValidator 仅验证该字段而无法链接到另一个字段。我找不到任何示例来显示如何更新 IntValidator 中的最小/最大值,也没有任何自定义验证器可以获取另一个字段的值,以便验证可以根据另一个字段中值的变化而改变......
enamldef IntFieldsWindow( Window ):
Container:
Form:
padding=0
Label:
text = 'Field A'
IntField: fld_a:
value = 0
Label:
text = 'Field B'
IntField: fld_b:
value = 0
经过一番测试,其实是可以将fld_a传递给自定义验证器,然后在validate函数中获取fld_a.value,最后将自定义验证器设置为fld_b。不确定这是否是进行此类验证的方法。