效果:
ecodeSDK.overwritePropsFnQueueMapSet('WeaInput', {
fn: (props) => {
// 检查页面路径和placeholder条件
if (!ecodeSDK.checkLPath('/spa/cube/index.html#/main/cube/search?customid=136') || props.placeholder !== "客户电话") return;
// 针对 onBlur 和 onPressEnter 事件添加验证和处理
['onBlur', 'onPressEnter'].forEach(event => {
if (typeof props[event] === 'function') {
const originalEvent = props[event];
props[event] = (e) => {
if (!/^1[3-9]\d{9}$/.test(props.value)) {
ModeForm.showMessage("电话号码格式错误,请输入有效的手机号码", 2, 10);
return;
}
originalEvent(e); // 如果电话号码有效,调用原事件处理器
};
}
});
// console.log('Props updated for WeaInput with placeholder check:', props);
},
});
无效方案
// // 是否第一次打开页面
// var isFirstopen = true;
// ecodeSDK.rewriteApiDataQueueSet({
// fn: function fn(url, params, data) {
// if (!ecodeSDK.checkLPath('/spa/cube/index.html#/main/cube/search?customid=136')) return;
// if (url.indexOf("/api/ec/dev/table/datas") === -1) return;
// // 获取客户电话
// var topSearchDatas = ModeList.getTopSearchDatas();
// var phoneNumber = topSearchDatas[11987]; // 假设电话号码的键为 11987
// // 正则检查电话号码格式
// var phoneRegex = /^1[3-9]\d{9}$/; // 以1开头,后跟10位数字
// if (!phoneRegex.test(phoneNumber)) {
// // 如果电话号码格式不正确,并且还没有显示过消息,则显示警告信息
// if (isFirstopen) {
// ModeForm.showMessage("电话号码格式错误,请输入有效的手机号码", 2, 10); // 错误信息,10秒后消失
// isFirstopen = false; // 打开过页面
// }
// console.log(data);
// data.datas = [];
// }
// },
// desc: '客户管理客户检索手机号检查拦截'
// });
[泛微ecode] 建模查询手机号字段必填查询检查拦截 by https://oneszhang.com/archives/80.html