我一直在研究 ExtJS 脚本,我有一个 ComboBox
allowBlank = false
和
forceSelection = true
我在列表中有一个作为默认消息的项目,它有一个显示文本
Please select...
并且没有价值
''
当我在 ComboBox 上运行验证时,我得到了true 不知道为什么?根据文档,当
allowBlank = false
验证被强制检查 value.length > 0 所以我在 JS 控制台中做了我自己的测试
>> if (thisForm.controlManager.controlArray[2].allowBlanks) { if (thisForm.controlManager.controlArray[2].length >= 0) { true; } false; } else { if (thisForm.controlManager.controlArray[2].length > 0) { true; } false; }
它返回false 所以我认为这可能是 validate 方法中的一个错误,所以我尝试这样做
>> thisForm.controlManager.controlArray[2].validateValue('')
结果是真的
任何人都知道我可能做错了什么,或者是否需要设置其他任何内容以使此验证在值为“”时返回 false。
PS。我也试过这个
>> thisForm.controlManager.controlArray[2].validateValue(' ')
并得到了错误的正确结果。这让我很困惑,因为我通常期望 '' 和 ' ' 在验证中返回相同的值。
我知道一种解决方法是将我的值设置为'',但我宁愿让它与''一起使用。
谢谢