张旭
8 years ago
8 changed files with 507 additions and 7 deletions
@ -0,0 +1,56 @@ |
|||||||
|
###信息查询组件对应有三种接口: |
||||||
|
1. 查询项列表(非必需) |
||||||
|
2. 查询项配置 |
||||||
|
3. 查询结果配置 |
||||||
|
### 查询项列表 |
||||||
|
> 查询项列表目的是将查询项目与项目编号关联起来,方便用户自行选择进入查询项。格式如下: |
||||||
|
> 相关组件(butterfly\infoService\List.js) |
||||||
|
> |
||||||
|
[ |
||||||
|
{ |
||||||
|
"name":"ITMS", |
||||||
|
"code":"IDM_APP_NETOP_ITMS", |
||||||
|
"value":[ |
||||||
|
{"name":"数据自助下发","code":"IDM_APP_NETOP_ITMS_DONE"}, |
||||||
|
{"name":"用户设备绑定","code":"IDM_APP_NETOP_ITMS_BIND"}, |
||||||
|
{"name":"用户设备解绑","code":"IDM_APP_NETOP_ITMS_RELEASE"}, |
||||||
|
{"name":"终端重启","code":"IDM_APP_NETOP_ITMS_REBOOT"}, |
||||||
|
{"name":"桥接和路由修改","code":"IDM_APP_NETOP_ITMS_BRIDGETOROUT"}, |
||||||
|
... |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name":"固网3A", |
||||||
|
"code":"IDM_APP_NETOP_AIOBS", |
||||||
|
"value":[] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name":"PON", |
||||||
|
"code":"IDM_APP_NETOP_PON", |
||||||
|
"value":[] |
||||||
|
} |
||||||
|
] |
||||||
|
### 查询项配置 |
||||||
|
> 查询项配置简单配置一些诸如标题,表单项,查询接口等信息。 其中表单格式见通用表单组件。 |
||||||
|
> 根据该配置,界面会自动生成查询表单,用户点击查询时,会自动将表单内容提交到action所指向到的接口。然后根据返回内容进行下一步 |
||||||
|
> 相关组件(butterfly\infoService\Detail.js) |
||||||
|
> |
||||||
|
{ |
||||||
|
"title":"数据自助下发", |
||||||
|
"ifCode":"itms_serviceDone", |
||||||
|
"action":"/mop/proxyIda/ida30/xxxxx", |
||||||
|
"operationType":"change",//查询类型。表示该次查询是查询/更改(search,change)。如果为change,在点击查询按钮时会要求确认 |
||||||
|
"form":[] |
||||||
|
} |
||||||
|
### 查询结果配置 |
||||||
|
>查询结果接口即是查询项配置中的action接口。 |
||||||
|
>返回值有三种处理方式。 |
||||||
|
1. 返回结果状态码不为200,将提示操作失败 |
||||||
|
2. 返回结果状态码为200,但数据为空,将直接提示操作成功 |
||||||
|
3. 返回结果有数据。此时需要指定用哪个组件来展示数据。这时根据不同业务将有不同变化。暂时只支持map这一种类型,调用了DetailView组件 |
||||||
|
> |
||||||
|
{ |
||||||
|
map : [ |
||||||
|
..... |
||||||
|
] |
||||||
|
} |
@ -0,0 +1,58 @@ |
|||||||
|
### 调用 |
||||||
|
> |
||||||
|
<listview :source="getBillList" :page-size="8"></listview> |
||||||
|
* source可以为一个url,或一个方法。如果是url,直接从该url请求数据。如果是一个方法,该方法接收一个param参数,包含页码等信息。方法必须返回一个promise对象,resolve一个指定格式的列表数据 |
||||||
|
|
||||||
|
### 工单列表组件的数据由三部分组成 |
||||||
|
1. 查询表单 |
||||||
|
2. 列表项 |
||||||
|
3. 页码信息 |
||||||
|
### 基础的数据格式如下: |
||||||
|
> 工单列表页渲染组件(\resource\components\mobile\bill\ListView.js) |
||||||
|
> |
||||||
|
{ |
||||||
|
"queryForm":[],//工单查询条件,详见[列表表单组件] |
||||||
|
"resultList":[],//工单列表数据,详见列表项数据格式 |
||||||
|
"totalCount":48,//工单总条目数 |
||||||
|
"pageCount":3//工单总页数 |
||||||
|
} |
||||||
|
### 列表项数据格式如下: |
||||||
|
> 列表项渲染组件(\resource\components\mobile\bill\ListItem.js) |
||||||
|
> |
||||||
|
{ |
||||||
|
"title":"451000201815",//工单标题 |
||||||
|
"subTitle":"",//工单副标题 |
||||||
|
"icon":"resource/images/openBills/open_01.png",//工单显示图标 |
||||||
|
"tags":[//工单的属性标记 type:normal,warn,error 分别为绿色,黄色,红色 value:true显示,false不显示 |
||||||
|
{"name":"待回单","type":"normal","value":"true"}, |
||||||
|
{"name":"催装0次","type":"warn","value":"false"} |
||||||
|
], |
||||||
|
"props":[//工单属性列表,icon样式见font-awesome |
||||||
|
{"icon":"fa fa-home","value":"哈尔滨市香坊区鼎园明府小区2号楼2单元802室"} |
||||||
|
], |
||||||
|
"extend":[//工单扩展属性列表 |
||||||
|
{"key":"上门","value":""}, |
||||||
|
{"key":"预约","value":"2017-05-16 14:58:56"}, |
||||||
|
{"key":"截至","value":"2017-05-17 23:59:59"} |
||||||
|
], |
||||||
|
"methods":{//工单操作,分三类:tel:拨打电话 map:打开地图定位 menu:打开菜单 |
||||||
|
"tel":"18004667853",//电话号码 |
||||||
|
"map":"xxxxxx",//客户地址 |
||||||
|
"menu":"xxxxxx"//菜单项接口地址。 菜单配置 详见[工单菜单配置] |
||||||
|
}, |
||||||
|
"detail":"/openBill/detail?DispatchSn=xxxxxxxx&MainSn=xxxxxxxx",//工单详情地址 |
||||||
|
"data":{//工单原始数据 |
||||||
|
"DispatchSn":"xxxxxxxx", |
||||||
|
"MainSn":"xxxxxxxx", |
||||||
|
"ClogCode":"xxxxxxxx", |
||||||
|
"NativeNetId":"xxxxxxxx", |
||||||
|
"WorkType":"新装", |
||||||
|
"WorkAction":"装", |
||||||
|
"SpecialtyId":"xxxxxxxx", |
||||||
|
"Contactor":"xxxxxxxx", |
||||||
|
"ContactPhone":"xxxxxxxx", |
||||||
|
"Applytime":"2017-05-15 09:34:18", |
||||||
|
"ReqRepairTime":"2017-05-17 23:59:59", |
||||||
|
"InstAddress":"xxxxxxxx" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,79 @@ |
|||||||
|
# 分别对应列表操作项[common/bill/ListMethods]和详情操作项[common/bill/DetailMenu] |
||||||
|
|
||||||
|
> |
||||||
|
[ |
||||||
|
//flow属性代表在详情中渲染为一个大按钮 |
||||||
|
//具有value属性,表示将执行该js方法 |
||||||
|
//组件将向上冒泡一个通知 |
||||||
|
//业务层需要监听该通知,然后自行触发该方法(方法需要自己实现) |
||||||
|
{"name":"拍照","value":"ev_photo","flow":"","code":"IDE_APP_OPEN_PHOTO"}, |
||||||
|
{"name":"材料使用","value":"ev_usecircsmate","flow":"","code":"IDE_APP_OPEN_USECIRCSMATE"}, |
||||||
|
{"name":"回单","value":"ev_return","flow":"true","code":"IDE_APP_OPEN_RETURN"}, |
||||||
|
//以下为自动处理的操作 |
||||||
|
|
||||||
|
//直接向接口提交数据即可完成的操作 |
||||||
|
//action为submit |
||||||
|
//paramter为一个逗号分隔的键名,组件自动获取到工单的相关键值,发送到指定接口 |
||||||
|
{ |
||||||
|
"paramter":"DispatchSn", |
||||||
|
"name":"接单", |
||||||
|
"action":"submit", |
||||||
|
"flow":"true", |
||||||
|
"code":"IDE_APP_OPEN_ACCEPT", |
||||||
|
"url":"/mop/proxyIda/ida30/h5/app/AppPublicAction.do?method=service&ifCode=open_accept" |
||||||
|
}, |
||||||
|
//需要显示一个交互表单的操作 |
||||||
|
//action为form |
||||||
|
//url为获取form定义的接口名 |
||||||
|
{ |
||||||
|
"paramter":"DispatchSn", |
||||||
|
"name":"挂起", |
||||||
|
"action":"form", |
||||||
|
"flow":"", |
||||||
|
"code":"IDE_APP_OPEN_HANDUP", |
||||||
|
"url":"/mop/proxyIda/ida30/h5/app/AppPublicAction.do?method=getFormDefine&formCode=open_hungUp_page" |
||||||
|
} |
||||||
|
] |
||||||
|
|
||||||
|
# 表单格式 |
||||||
|
> |
||||||
|
//title为交互窗显示的标题 |
||||||
|
//action为form提交地址 |
||||||
|
//form为通用表单格式 |
||||||
|
//onSuccess定义表单提交后的后续动作 |
||||||
|
//目前规定为4种: |
||||||
|
//1.refreshList 刷新工单列表 在列表时直接刷新列表数据 在详情时返回 |
||||||
|
//2.refreshBill 刷新工单数据(含菜单) |
||||||
|
//3.refreshMenu 刷新菜单 |
||||||
|
//4. "" nothing 什么都不干 |
||||||
|
|
||||||
|
//可以配置一个onSubmit属性,值为一个js方法。 |
||||||
|
//在这种情况下表单将派发一个execute事件给业务组件。 |
||||||
|
//此时业务组件需要实现此方法,获取的入参为表单值。 |
||||||
|
//业务方法需要返回一个promise对象 |
||||||
|
|
||||||
|
//将通过一个commonMethod事件将动作向上冒泡,业务代码捕获到后自行处理 |
||||||
|
{ |
||||||
|
"title":"解挂", |
||||||
|
"action":"/mop/proxyIda/ida30/h5/app/AppPublicAction.do?method=service&ifCode=open_unhangup&DispatchSn=20170501212484", |
||||||
|
"onSuccess":"refreshBill", |
||||||
|
"form":[] |
||||||
|
} |
||||||
|
|
||||||
|
#业务页面处理后续动作的示例代码 |
||||||
|
> |
||||||
|
events : { |
||||||
|
commonMethod : function(method,component,callback){ |
||||||
|
if(method==="refreshList"){ |
||||||
|
this.reload() |
||||||
|
return callback() |
||||||
|
} |
||||||
|
if(method==="refreshBill"){ |
||||||
|
return this.refreshBill(component).then(callback) |
||||||
|
} |
||||||
|
if(method==="refreshMenu"){ |
||||||
|
return this.refreshMethods(component).then(callback) |
||||||
|
} |
||||||
|
return callback() |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,111 @@ |
|||||||
|
### 工单详情组件由一个tab和若干组件拼接而成 |
||||||
|
|
||||||
|
* pageList值为一个数组,category表示tab标题,content可由多个组件堆砌而成,type表示显示的组件类型,data为组件数据 |
||||||
|
* data为工单原始数据 |
||||||
|
* menuUrl为菜单接口url |
||||||
|
* |
||||||
|
> |
||||||
|
{ |
||||||
|
"pageList":[ |
||||||
|
{ |
||||||
|
"category":"工单信息", |
||||||
|
//content内容调用了MultipleView,详细格式参考common.MultipleView.js |
||||||
|
"content":[ |
||||||
|
{ |
||||||
|
"component":"detailview", |
||||||
|
data":[xxxxx] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"category":"用户资料", |
||||||
|
"content":[] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"category":"线路信息", |
||||||
|
"content":[] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"category":"处理步骤", |
||||||
|
"content":[] |
||||||
|
} |
||||||
|
], |
||||||
|
"data":{ |
||||||
|
"DispatchSn":"20170501358807", |
||||||
|
"MainSn":"2017051500000431", |
||||||
|
"ClogCode":"451000201815", |
||||||
|
... |
||||||
|
}, |
||||||
|
"menuUrl":"/ida30/h5/app/xxxxx" |
||||||
|
} |
||||||
|
|
||||||
|
> 以下为旧版格式,目前仍然兼容 |
||||||
|
* 目前可以在详情页作为tab展现的组件有DetailView,FlowView |
||||||
|
> |
||||||
|
{ |
||||||
|
"pageList":[ |
||||||
|
{ |
||||||
|
"category":"工单信息", |
||||||
|
"content":[ |
||||||
|
{ |
||||||
|
"type":"listView", |
||||||
|
data":[ |
||||||
|
{"name":"订单编号","value":"51000000000097365066","prop":""}, |
||||||
|
{"name":"申请时间","value":"2017-5-15 9:34:18","prop":""}, |
||||||
|
{"name":"产品名称","value":"智慧家庭"}, |
||||||
|
{"name":"工单状态","value":"待回单","prop":""}, |
||||||
|
{"name":"施工类型","value":"新装","prop":""}, |
||||||
|
{"name":"施工动作","value":"装","prop":""}, |
||||||
|
{"name":"局向","value":"香坊区","prop":""}, |
||||||
|
{"name":"业务号码(障碍标识)","value":"451000201815","prop":""}, |
||||||
|
{"name":"预约开始时间","value":"2017-5-17 17:00:00","prop":""}, |
||||||
|
{"name":"预约结束时间","value":"2017-5-17 19:00:00","prop":""}, |
||||||
|
{"name":"先装后付","value":"否","prop":""} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"category":"用户资料", |
||||||
|
"content":[ |
||||||
|
{ |
||||||
|
"type":"listView", |
||||||
|
"data":[] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"category":"线路信息", |
||||||
|
"content":[ |
||||||
|
{ |
||||||
|
"type":"listView", |
||||||
|
"data":[] |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{"category":"处理步骤", |
||||||
|
"content":[ |
||||||
|
{ |
||||||
|
"type":"flowView", |
||||||
|
"data":[ |
||||||
|
{ |
||||||
|
"actionType":"受理", |
||||||
|
"operator":"SysPc", |
||||||
|
"operatorGroup":"", |
||||||
|
"dealInfo":"", |
||||||
|
"operateEndtime":"05-15 09:34" |
||||||
|
}, |
||||||
|
.... |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
], |
||||||
|
"data":{ |
||||||
|
"DispatchSn":"20170501358807", |
||||||
|
"MainSn":"2017051500000431", |
||||||
|
"ClogCode":"451000201815", |
||||||
|
... |
||||||
|
}, |
||||||
|
"menuUrl":"/ida30/h5/app/xxxxx" |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
> \resource\components\mobile\Panel.js |
||||||
|
|
||||||
|
* 一个基础的面板组件 |
||||||
|
* 用于显示一些简单的提示信息 |
||||||
|
* 根据状态不同,提示 成功,警告,失败,普通 等状态 |
||||||
|
> |
||||||
|
<panel type="success" text="You successfully read this important alert message."></panel> |
||||||
|
<panel type="error" text="You successfully read this important alert message."></panel> |
||||||
|
<panel type="warn" text="You successfully read this important alert message."></panel> |
||||||
|
<panel type="info" text="You successfully read this important alert message."></panel> |
||||||
|
<panel type="normal" text="You successfully read this important alert message."></panel> |
@ -0,0 +1,28 @@ |
|||||||
|
> \resource\components\mobile\DetailView.js |
||||||
|
|
||||||
|
> |
||||||
|
//展示一个名值对集合 |
||||||
|
/* |
||||||
|
集合成员: |
||||||
|
{ |
||||||
|
hideIfEmpty : true, //值为空时是否隐藏,默认不隐藏 |
||||||
|
name : name, //名称 |
||||||
|
value : value, //值 |
||||||
|
prop : prop || "", //属性 |
||||||
|
important表示值用红色加粗表示 |
||||||
|
divider表示本行是一个分隔行,只显示名称 |
||||||
|
map表示点击后用地图打开 |
||||||
|
telephone表示点击后拨打电话 |
||||||
|
url表示点击后打开一个新界面(本地路由) |
||||||
|
dateLimit表示剩余时间 |
||||||
|
portRate将一个以kb为单位的数字转为mb为单位的字符串 |
||||||
|
colord表示着色,参数为颜色值 |
||||||
|
boolean表示是一个是否值(是,否,Y,N) |
||||||
|
html表示值是html |
||||||
|
largeText表示大文本 |
||||||
|
newValue表示是一个新旧值对比,新值在value里,旧值在extend里 |
||||||
|
|
||||||
|
extend : ""//扩展属性,视prop的值不同,格式不同 |
||||||
|
} |
||||||
|
*/ |
||||||
|
> 如: {name:"红色",value:"我是红色字",prop:"colord",extend:"red"} |
@ -0,0 +1,157 @@ |
|||||||
|
# 通用表单组件 |
||||||
|
|
||||||
|
> |
||||||
|
将表单抽象为配置数据,再使用本组件进行还原 |
||||||
|
用例:\resource\components\testCase\mobile\common.formComponents.Form.js |
||||||
|
可使用 /test/common.FormComponents.Form 路由在项目中查看 |
||||||
|
> 组件显示为三种样式 |
||||||
|
* common/formComonents/Form //在模态窗使用 |
||||||
|
* common/formComonents/FormInPage //在普通页面使用 |
||||||
|
* common/formComonents/FormInGrid //在回单页面使用 |
||||||
|
### 支持表单类型 |
||||||
|
|
||||||
|
* text |
||||||
|
* password |
||||||
|
* radio |
||||||
|
* select |
||||||
|
* checkbox |
||||||
|
* textarea |
||||||
|
* date |
||||||
|
* datetime |
||||||
|
* range |
||||||
|
* tree |
||||||
|
* scan |
||||||
|
* photo |
||||||
|
* locate |
||||||
|
* custom |
||||||
|
### 通用属性 |
||||||
|
* label 表单项显示名称 |
||||||
|
* value 表单项值 |
||||||
|
* valid 表单项验证规则 |
||||||
|
* show 表单项显示条件 |
||||||
|
text,password,date,datetime,tree 具有的属性 |
||||||
|
name,placeholder,maxlength,readonly,disabled |
||||||
|
|
||||||
|
|
||||||
|
### date,datetime允许设置一个valueTemplate属性来格式化日期 |
||||||
|
* 默认 date: yyyy-MM-dd |
||||||
|
* 默认 dateTime : yyyy-MM-dd hh:mm:ss |
||||||
|
|
||||||
|
### select,radio,checkbox具有的属性 |
||||||
|
* options: Array |
||||||
|
* value : String |
||||||
|
* label : String |
||||||
|
* selected : Boolean |
||||||
|
> 如果组件本身具有value,则抛弃option的selected属性 |
||||||
|
* 支持异步获取options |
||||||
|
* 当表单项本身没有配置options,且配置了config时触发异步加载options |
||||||
|
> |
||||||
|
{ |
||||||
|
"name":"ChangeOper", |
||||||
|
"label":"改派人员", |
||||||
|
"type":"select", |
||||||
|
"valid":"required", |
||||||
|
"config":{ |
||||||
|
"url":"/mop/xxxx/xxx?xxx=xxx", |
||||||
|
"name":"UserName", |
||||||
|
"value":"UserId" |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
### tree具有的属性 |
||||||
|
* root : 根节点ID |
||||||
|
* url : 树url |
||||||
|
* idKey : 主键字段名 |
||||||
|
* pidKey : 父节点字段名 default:parentId |
||||||
|
* valueKey : 供显示的名字 default:name |
||||||
|
* isLeaf : 是否叶子节点判断 Function,入参节点数据,返回true false |
||||||
|
* async : 是否异步树 |
||||||
|
* 如果是异步树,控件会自动将idKey指定的值作为参数查询下级节点,不需要拼在url上 |
||||||
|
* 如果确实需要默认查一个节点,请设置root属性的值 |
||||||
|
> 例: |
||||||
|
> |
||||||
|
{ |
||||||
|
"name":"ChangeOper", |
||||||
|
"label":"转派人员", |
||||||
|
"type":"tree", |
||||||
|
"valid":"required", |
||||||
|
//配置一个模板,提交的值为模板生成的数据.否则直接取idKey所表示的数据 |
||||||
|
//是一句js表达式,可使用item对象访问当前节点数据 |
||||||
|
"valueTemplate":"item.ParentOrgId+'#'+item.OrgId+'#'+item.OrgName", |
||||||
|
"config":{ |
||||||
|
"url":"/url/urlxxxx?ccc=bbb&orgid=长沙", |
||||||
|
"idKey":"OrgId", |
||||||
|
"pidKey":"ParentOrgId", |
||||||
|
"valueKey":"OrgName", |
||||||
|
"async":true, |
||||||
|
"isLeaf":"item.OrgType==='USER'" |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
# 表单的交互方法 |
||||||
|
### 可向表单组件广播以下事件 |
||||||
|
* getValue(callback) 返回表单数据,不验证 |
||||||
|
* validate(callback,errorCallback) 验证表单,Promise方法,全部验证通过则resolve表单数据,否则reject错误 |
||||||
|
* setAttr(name,attr,value) |
||||||
|
> |
||||||
|
name : 表单项name |
||||||
|
attr : 表单项属性 |
||||||
|
value : 表单项属性的值 |
||||||
|
如 |
||||||
|
this.$broadcast("username","value","sa") |
||||||
|
除非很清楚自己在干什么,否则不要使用 |
||||||
|
|
||||||
|
### 可监听表单组件冒泡的事件 |
||||||
|
* change(form) |
||||||
|
> 当表单发生变化时冒泡该事件 |
||||||
|
|
||||||
|
* changeValue(name,oldValue,newValue) |
||||||
|
> 当有表单项值发生改变时冒泡该事件。配合setAttr可实现表单项关联 |
||||||
|
|
||||||
|
# 自定义表单项 类型为custom |
||||||
|
* 允许自行实现一个组件,作为表单项的选择窗口 |
||||||
|
* 组件可以配置一些props获得当前表单的一些上下文信息 |
||||||
|
* getFormValues:Function 返回当前表单的值 |
||||||
|
* getConfig 返回当前表单项配置 |
||||||
|
* getDialog 返回当前模态窗实例 |
||||||
|
|
||||||
|
* 如果配置了按钮(默认有按钮),组件需要实现一个submit方法,返回一个promise,返回值是一个包含 name,value 字段的对象 |
||||||
|
* 如果没有配置按钮,组件需要调模态窗的close方法,将返回值传入。如:this.getDialog().close({name:"1",value:"2"}) |
||||||
|
|
||||||
|
> |
||||||
|
{ |
||||||
|
"name" : "test", |
||||||
|
"label" : "自定义表单项", |
||||||
|
"type" : "custom", |
||||||
|
"component" : "./../resource/components/testCase/mobile/ExampleFormMemberComponent" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"name" : "test1", |
||||||
|
"label" : "选择地址", |
||||||
|
"type" : "custom", |
||||||
|
"component" : "./openBill/SelectResAddressForm",//自定义组件地址 |
||||||
|
"config" : { |
||||||
|
"showBtn" : false,//弹出窗是否显示提交按钮 |
||||||
|
"btnText" : "确定选择",//弹出窗按钮文字 |
||||||
|
"selectText" : "选择地址"//选择按钮文字 |
||||||
|
}, |
||||||
|
"data" : { |
||||||
|
"SpecialtyId" : "11111111" |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
### 表单验证属性规则: |
||||||
|
* url |
||||||
|
* base64 |
||||||
|
* ip |
||||||
|
* email |
||||||
|
* numeric |
||||||
|
* integer |
||||||
|
* required |
||||||
|
* regex(%5E((http%7Chttps%7Cftp%7Cvm)%3A%2F%2F)) //自定义正则 因正则特殊字符较多难以处理,需要先encodeURIComponent处理 |
||||||
|
* range(7,8)//长度在7-8 |
||||||
|
* async('/xxxx.do')//异步验证 |
||||||
|
|
||||||
|
>支持管道式组合验证 如 |
||||||
|
>valid:"required|url|range(7,8)|async('/xxxx.do')" |
||||||
|
|
Loading…
Reference in new issue