当前位置: 主页 > 建站知识 > 小程序

微信小程序表单验证-微信小程序动态表单

发布时间:2023-01-25 11:20   浏览次数:次   作者:佚名

{{validateErrorText.msg}}

2.修改app.wxss文件

添加了错误显示容器样式。

.validateText{

可见性:隐藏;

位置:绝对;

红色;

边框:1px 实心#dfdfdf;

宽度:400rpx;

最小高度:25px;

框阴影:2px 2px 2px #888888;

边界半径:5px;

显示:弹性;

对齐项目:弹性启动;

证明内容:flex-end;

填充:5px;

背景色:#ffffff;

不透明度:0.87;

z-指数:999;

微信小程序表单验证_微信小程序 做表单录入_微信小程序动态表单

}

.validateText:之前{

内容: '*';

}

3.修改WxValidate.js

query.selectAll(".wxValidate").fields({

编号:真实,

尺寸:真实,

数据集:真实,

正确的微信小程序表单验证

属性:['验证','字段名'],

上下文:真实

}, 函数(资源) {

资源数据集

资源上下文

}).exec(函数(资源){

const arr = res[0];

//安慰。 日志(arr)

微信小程序表单验证_微信小程序动态表单_微信小程序 做表单录入

对于(常量我在 arr){

变量 id = arr[i].id

var 字段名 = arr[i].dataset.fieldname;

var validate = util.trim(arr[i].dataset.validate);

规则 [id] = 实用程序。 defaultIfEmpty(规则[id], {});

消息[id] = 实用程序。 defaultIfEmpty(消息[id], {})

消息[id].top = arr[i].top;

消息[id].left = arr[i].left;

消息[id].width = arr[i].width;

that.__getFormatValidate(rules[id], messages[id], id, fieldname, validate);

}

});

主要是多了messages[id].top = arr[i].top; 消息[id].left = arr[i].left; 消息[id].width = arr[i].width;

用于获取当前窗体的位置和宽度,用于错误显示框的定位。

四、修改提交表单事件

表单提交:函数(e){

util.loadingMsg("数据提交,请稍候...");

那个=这个;

微信小程序动态表单_微信小程序表单验证_微信小程序 做表单录入

console.log('表单发生提交事件微信小程序表单验证,携带的数据为:', e.detail.value)

const params = e.detail.value;

安慰。 日志(参数)

console.log(this.WxValidate.rules)

console.log(this.WxValidate.messages)

//验证表单

如果(!this.WxValidate.checkForm(参数)){

var arrValidate = new Array();

让顶部= 0;

for (const i in this.WxValidate.errorList){

常量错误 = this.WxValidate.errorList[i]

如果(我==0){

顶部=错误。 最佳;

}

const validateErrorText= {id:error.param, visibility: "inherit", top: error.top + "px", left: error.left + "px", msg: error.msg }

arrValidate[i]=validateErrorText;

}

this.setData({arrValidate: arrValidate});

微信小程序表单验证_微信小程序 做表单录入_微信小程序动态表单

// const error = this.WxValidate.errorList[0]

// //util.alert("错误提示", error.msg+error.left+" ** "+error.top)

// 那.setData({

// validateErrorText: { visibility:"inherit",top:error.top+"px",left:error.left+"px",msg:error.msg}

// })

wx.pageScrollTo({

滚动顶部:顶部,

持续时间:500

});

设置超时(功能(){

console.log("***超时")

效用。 fadeOut(that, "vaildateErrorText_animation", 0);

},5000);

wx.hideLoading();

返回假

} wx.hideLoading();

//向后台发送数据时wx.request...

util.alert("成功提示", '提交成功:' + e.detail.value.date);

微信小程序 做表单录入_微信小程序表单验证_微信小程序动态表单

}

这里最主要的是循环出去并显示所有的错误。

5.修改util.js

添加淡入淡出动画功能:

function fadeOut(that, animationId, opacity, data) {

var animation = wx.createAnimation({

持续时间:3000,

计时功能:'缓和',

});

animation.opacity(不透明度).step();

变种JSON = {};

json[animationId] = 动画。 出口();

如果(isNotEmpty(数据)){

目的。 分配(json,数据)

}

// 设置动画

那。 设置数据(json);

}

CSDN中这篇文章的链接: