|
@@ -213,6 +213,64 @@ describe('Form', () => {
|
|
|
done();
|
|
|
});
|
|
|
});
|
|
|
+ it('clear validate', done => {
|
|
|
+ vm = createVue({
|
|
|
+ template: `
|
|
|
+ <el-form ref="form" :model="form" :rules="rules">
|
|
|
+ <el-form-item label="活动名称" prop="name">
|
|
|
+ <el-input v-model="form.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="活动地址" prop="address">
|
|
|
+ <el-input v-model="form.address"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="活动性质" prop="type">
|
|
|
+ <el-checkbox-group v-model="form.type">
|
|
|
+ <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
|
|
|
+ <el-checkbox label="地推活动" name="type"></el-checkbox>
|
|
|
+ <el-checkbox label="线下主题活动" name="type"></el-checkbox>
|
|
|
+ <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ `,
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ form: {
|
|
|
+ name: '',
|
|
|
+ address: '',
|
|
|
+ type: []
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ name: [
|
|
|
+ { required: true, message: '请输入活动名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ address: [
|
|
|
+ { required: true, message: '请选择活动区域', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ type: [
|
|
|
+ { type: 'array', required: true, message: '请至少选择一个活动性质', trigger: 'change' }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }, true);
|
|
|
+ const form = vm.$refs.form;
|
|
|
+ const nameField = form.fields.filter(field => field.prop === 'name')[0];
|
|
|
+ const addressField = form.fields.filter(field => field.prop === 'address')[0];
|
|
|
+ form.validate();
|
|
|
+ vm.$nextTick(() => {
|
|
|
+ expect(nameField.validateMessage).to.equal('请输入活动名称');
|
|
|
+ form.clearValidate(['name']);
|
|
|
+ vm.$nextTick(() => {
|
|
|
+ expect(nameField.validateMessage).to.equal('');
|
|
|
+ form.clearValidate();
|
|
|
+ vm.$nextTick(() => {
|
|
|
+ expect(addressField.validateMessage).to.equal('');
|
|
|
+ done();
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
it('form item nest', done => {
|
|
|
vm = createVue({
|
|
|
template: `
|