一、效果如图所示
特点:
1、异步后台校验不会对用户操作产生阻塞感;
2、可在用户停止输入后自动校验,避免频繁进行无谓的后台校验;
3、以插件方式实现,方便使用;
二、插件源码如下:
/***贾文君2016/10/19创作*/Ext .定义(' Ext。UX。插件。字段ajaxverify ',{extend: 'Ext .“抽象插件”,别名“:”插件。字段Ajax验证',buffer:500,url: ' ',timeout:1000,connectionFailure: '服务器连接失败init :函数(字段){ var me=thisvar params=me . params field . enablekey events=truefield . on(' key up ',Ext .功能。创建缓冲(函数(字段,e){ var值=字段。getvalue();if(ext。isempty(value)){ return;}var params=field.up('form ').getValues();if(ext。是功能(我。getparams)){ params=me。getparams(字段,值);}分机.Ajax.request({url:me.url,method:'POST ',params:params,timeout: me.timeout,内容类型: ' application/JSON;charset=utf-8 ',success :函数(响应){ var obj=Ext .JSON。解码(响应。响应文本);如果。结果[' success ']===true){ field。set validation(true);字段。validate();} else { field。setvalidation(obj。结果[' message ']);字段。validate();}},失败:函数(响应){ var result=Ext .JSON。解码(响应。响应文本);字段。setvalidation(me。connection failure);字段。validate();}});},我。缓冲区))});三、应用方式
{ name : }设备标识符类别名称,fieldLabel: '分类名称,allowBlank:false,afterLabelTextTpl : ' span style=' color : red;font-weight : bold ' data-qtip='必填项*/span ',插件: { ptype : ' field Ajax verify ',URL : '/service/uniquenescheckname ' } }可用配置项:
1、缓冲毫秒数(在多少毫秒内用户没有输入操作则自动向后台发送验证请求
2、超时创建交互式、快速动态网页应用的网页开发技术请求超时限制(毫秒数)
3、获取参数(字段、值)自定义创建交互式、快速动态网页应用的网页开发技术参数内容
四、后台服务提供的数据格式
{ 'resultCode' : 0,' result' : { 'message' : '分类名称重复,' success' : false },' MSGiD ' : ' 41 C2C 52 c-66 D4-49 C5-be 52-0158 e71 cfe 2c ',' success' : true}备注:在Extjs5.1下测试通过,有其他个性化需求可参考此插件进行实现,谢谢。
以上所述是小编给大家介绍的Extjs表单输入框异步校验的插件实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!