Ext-JS表单TextArea验证Q.

时间:2011-04-01 22:45:45

标签: javascript javascript-events extjs validation

我已经通过扩展form.VTypes类在我的表单中实现了一些验证,以包含我个人制作的另一个vtype。但是我不确定这是否是最好的路径,对于我想在验证发生时控制的初学者(onBlur)。我想在有效时显示一个复选标记,并在表单填写正确之前禁用提交值。

我一直在寻找Ext-JS API文本字段的验证器属性如何工作,但我找不到一个很好的例子。 validateOnBlur是否可以使用它?我试图了解所有这些不同的验证属性/方法应该如何协同工作。我不知道什么时候应该叫什么。

<小时/> 编辑** 我现在设置它,以便仅在每个文本字段上运行isValid(false)后启用发送按钮。显然,这适用于我的VType验证和我的allowBlank:false我设置。但是我不明白当它实际有效时如何执行另一个方法...我看到了有效的公共事件,但我不确定何时可以调用它(一个例子很棒)

1 个答案:

答案 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事件,您可以使用该事件来监听表单生效时要执行的其他操作。