Commit 409a3c85 authored by Leopoldthecoder's avatar Leopoldthecoder Committed by 杨奕

Form: fix validate state

parent 146e02c4
......@@ -5,15 +5,17 @@
if (!value) {
return callback(new Error('Please input the age'));
}
if (!Number.isInteger(value)) {
callback(new Error('Please input digits'));
} else {
if (value < 18) {
callback(new Error('Age must be greater than 18'));
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('Please input digits'));
} else {
callback();
if (value < 18) {
callback(new Error('Age must be greater than 18'));
} else {
callback();
}
}
}
}, 1000);
};
var validatePass = (rule, value, callback) => {
if (value === '') {
......@@ -338,7 +340,8 @@ When the vertical space is limited and the form is relatively simple, you can pu
<el-option label="Zone one" value="shanghai"></el-option>
<el-option label="Zone two" value="beijing"></el-option>
</el-select>
</el-form-item><el-form-item>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">Query</el-button>
</el-form-item>
</el-form>
......@@ -546,15 +549,17 @@ This example shows how to customize your own validation rules to finish a two-fa
if (!value) {
return callback(new Error('Please input the age'));
}
if (!Number.isInteger(value)) {
callback(new Error('Please input digits'));
} else {
if (value < 18) {
callback(new Error('Age must be greater than 18'));
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('Please input digits'));
} else {
callback();
if (value < 18) {
callback(new Error('Age must be greater than 18'));
} else {
callback();
}
}
}
}, 1000);
};
var validatePass = (rule, value, callback) => {
if (value === '') {
......
......@@ -5,15 +5,17 @@
if (!value) {
return callback(new Error('年龄不能为空'));
}
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
if (value < 18) {
callback(new Error('必须年满18岁'));
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
callback();
if (value < 18) {
callback(new Error('必须年满18岁'));
} else {
callback();
}
}
}
}, 1000);
};
var validatePass = (rule, value, callback) => {
if (value === '') {
......@@ -331,7 +333,8 @@
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item><el-form-item>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">查询</el-button>
</el-form-item>
</el-form>
......@@ -537,15 +540,17 @@
if (!value) {
return callback(new Error('年龄不能为空'));
}
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
if (value < 18) {
callback(new Error('必须年满18岁'));
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
callback();
if (value < 18) {
callback(new Error('必须年满18岁'));
} else {
callback();
}
}
}
}, 1000);
};
var validatePass = (rule, value, callback) => {
if (value === '') {
......
......@@ -53,7 +53,10 @@
label: String,
labelWidth: String,
prop: String,
required: Boolean,
required: {
type: Boolean,
default: undefined
},
rules: [Object, Array],
error: String,
validateStatus: String,
......@@ -165,7 +168,7 @@
validate(trigger, callback = noop) {
this.validateDisabled = false;
var rules = this.getFilteredRule(trigger);
if ((!rules || rules.length === 0) && !this._props.hasOwnProperty('required')) {
if ((!rules || rules.length === 0) && this.required === undefined) {
callback();
return true;
}
......@@ -216,7 +219,7 @@
getRules() {
var formRules = this.form.rules;
var selfRules = this.rules;
var requiredRule = this._props.hasOwnProperty('required') ? { required: !!this.required } : [];
var requiredRule = this.required !== undefined ? { required: !!this.required } : [];
formRules = formRules ? formRules[this.prop] : [];
......@@ -255,7 +258,7 @@
let rules = this.getRules();
if (rules.length || this._props.hasOwnProperty('required')) {
if (rules.length || this.required !== undefined) {
this.$on('el.form.blur', this.onFieldBlur);
this.$on('el.form.change', this.onFieldChange);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment