我已经通过扩展form.VTypes类在我的表单中实现了一些验证,以包含我个人制作的另一个vtype。但是我不确定这是否是最好的路径,对于我想在验证发生时控制的初学者(onBlur)。我想在有效时显示一个复选标记,并在表单填写正确之前禁用提交值。
我一直在寻找Ext-JS API文本字段的验证器属性如何工作,但我找不到一个很好的例子。 validateOnBlur是否可以使用它?我试图了解所有这些不同的验证属性/方法应该如何协同工作。我不知道什么时候应该叫什么。
<小时/> 编辑** 我现在设置它,以便仅在每个文本字段上运行isValid(false)
后启用发送按钮。显然,这适用于我的VType验证和我的allowBlank:false我设置。但是我不明白当它实际有效时如何执行另一个方法...我看到了有效的公共事件,但我不确定何时可以调用它(一个例子很棒)
答案 0 :(得分:1)
在monitorValid: true
上使用Ext.form.FormPanel
,并在表单的按钮中添加formbind: true
,可以轻松完成您想要的大部分工作。
new Ext.form.FormPanel({
monitorValid: true,
items: [{
xtype: 'textfield',
allowBlank: false
...
}, {
xtype: 'textarea',
vtype: 'customvtype'
}],
buttons: [{
text: 'Submit',
formbind: true
}]
});
使用monitorValid
时,表单还会触发clientValidation
事件,您可以使用该事件来监听表单生效时要执行的其他操作。