<ext:NumberField ID="tdReqPayMoney" runat="server" MinValue="0" DecimalPrecision="2" ReadOnly="true" VtypeText="提示信息"
AllowBlank="false" HideTrigger="true" MaxValue="999999999"Vtype="RPMValidatorType">
<Validator Fn="RPMValidator">
</Validator>
<CustomConfig>
<ext:ConfigItem Name="tooltip" Value="编辑框" />
</CustomConfig>
<Listeners>
<Change Fn="Change">
</Change>
</Listeners>
</ext:NumberField>
第一种特别简单,就是在改变事件中Change,直接判断,如果不满足弹出提示框,并把当前控件赋值为空。这种显然不太友好。
下面有2种方法相对来说比价友好,不会弹出提示框,会整个框红色提示,当前值也不会清除,但是我个人觉得这2种方式都是换汤不换药,一个原理。不多说看代码。
第二种:在控件加入如控件蓝色属性(这2个属性必须同时出现)。
Ext.apply(Ext.form.VTypes, {
RPMValidatorType:function(val, field){
if( 满足显示提示框的条件 ){return false;}
else return true
}
});
第三种:在控件Validator中添加事件:
function RPMValidator(){
if(满足显示提示框的条件){return '提示信息';}
else return true;
}
注意:2种方法在正常后,都必须返回true,如果不返回会一直显示提示信息!!!