|
|
|
|
"use strict";
|
|
|
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
|
|
|
};
|
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
|
var yfieldsControls_1 = __importDefault(require("../yfieldsControls"));
|
|
|
|
|
Component({
|
|
|
|
|
properties: {
|
|
|
|
|
rules: Object,
|
|
|
|
|
bindsubmit: String
|
|
|
|
|
},
|
|
|
|
|
data: {
|
|
|
|
|
form: {},
|
|
|
|
|
label: {}
|
|
|
|
|
},
|
|
|
|
|
relations: {
|
|
|
|
|
'../yfieldsControls': {
|
|
|
|
|
type: 'descendant',
|
|
|
|
|
target: yfieldsControls_1.default,
|
|
|
|
|
linked: function (target) {
|
|
|
|
|
this.setData({ form: Object.assign(this.data.form, target.dataset) });
|
|
|
|
|
var label = {};
|
|
|
|
|
var labelName = Object.keys(target.dataset)[0];
|
|
|
|
|
var laeblValue = target.data.label;
|
|
|
|
|
label[labelName] = laeblValue;
|
|
|
|
|
this.setData({ label: Object.assign(this.data.label, label) });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
validate: function () {
|
|
|
|
|
for (var key in this.data.rules) {
|
|
|
|
|
// 判断form表单中是否存在这个数据
|
|
|
|
|
if (!(key in this.data.form)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
var formValue = this.data.form[key];
|
|
|
|
|
// 判断这个数据是否是required
|
|
|
|
|
if (this.data.rules[key].require.value) {
|
|
|
|
|
if (formValue == '') {
|
|
|
|
|
var errMsg = this.data.rules[key].require.errMsg || this.data.label[key] + "\u4E0D\u80FD\u4E3A\u7A7A";
|
|
|
|
|
wx.showToast({ title: errMsg, icon: "none" });
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 判断这个数据的其他正则
|
|
|
|
|
if (this.data.rules[key].re) {
|
|
|
|
|
var re = new RegExp(this.data.rules[key].re.value);
|
|
|
|
|
if (!re.test(formValue)) {
|
|
|
|
|
var errMsg = this.data.rules[key].re.errMsg || this.data.label[key] + "匹配规则失败,未配置规则错误提示";
|
|
|
|
|
wx.showToast({ title: errMsg, icon: "none" });
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
},
|
|
|
|
|
onSubmit: function () {
|
|
|
|
|
console.log("ddddd");
|
|
|
|
|
if (!this.validate())
|
|
|
|
|
return;
|
|
|
|
|
this.triggerEvent("onSubmit", this.data.form, {});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|