Skip to content
This repository was archived by the owner on Dec 25, 2017. It is now read-only.

Commit d82dd5e

Browse files
committed
feat(validator): change validation result of validator
1 parent 5af4efa commit d82dd5e

File tree

9 files changed

+58
-30
lines changed

9 files changed

+58
-30
lines changed

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ Validation results can be accessed in this structure:
107107
field1: {
108108
required: false, // validator
109109
email: true, // custom validator
110+
url: 'invalid url format', // if specify the error message, set it
110111
...
111112
customValidator1: false,
112113

@@ -557,7 +558,30 @@ The vue binding syntax can group inputs together:
557558

558559
# Error messages
559560

560-
Error messages can be stored directly in the validation rules, rather than relying on `v-show` or `v-if`:
561+
Error messages can be stored directly in the validation rules, and can be use error message on `v-show` or `v-if`:
562+
563+
```html
564+
<validator name="validation1">
565+
<div class="username">
566+
<label for="username">username:</label>
567+
<input id="username" type="text" v-validate:username="{
568+
required: { rule: true, message: 'required you name !!' }
569+
}">
570+
<span v-if="$validation1.username.required">{{ $validation1.username.required }}</span>
571+
</div>
572+
<div class="password">
573+
<label for="password">password:</label>
574+
<input id="password" type="text" v-validate:password="{
575+
required: { rule: true, message: 'required you password !!' },
576+
minlength: { rule: 8, message: 'your password short too !!' }
577+
}"/>
578+
<span v-if="$validation1.password.required">{{ $validation1.password.required }}</span>
579+
<span v-if="$validation1.password.minlength">{{ $validation1.password.minlength }}</span>
580+
</div>
581+
</validator>
582+
```
583+
584+
Also, Error message can be used with `v-for`:
561585

562586
```html
563587
<validator name="validation1">

src/validations/base.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,9 +136,13 @@ export default class BaseValidation {
136136
? msg.call(this._vm, this.field, descriptor.arg)
137137
: msg
138138
errors.push(error)
139+
results[name] = error.message
140+
} else {
141+
results[name] = !ret
139142
}
143+
} else {
144+
results[name] = !ret
140145
}
141-
results[name] = !ret
142146
}
143147
}, this)
144148

test/specs/checkbox.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('checkbox', () => {
2727

2828
it('should be validated', (done) => {
2929
// default
30-
assert(vm.$validator1.field1.required === true)
30+
assert(vm.$validator1.field1.required)
3131
assert(vm.$validator1.field1.valid === false)
3232
assert(vm.$validator1.field1.touched === false)
3333
assert(vm.$validator1.field1.dirty === false)
@@ -88,7 +88,7 @@ describe('checkbox', () => {
8888

8989
it('should be validated', (done) => {
9090
// default
91-
assert(vm.$validator1.field1.required === true)
91+
assert(vm.$validator1.field1.required)
9292
assert(vm.$validator1.field1.minlength === true)
9393
assert(vm.$validator1.field1.valid === false)
9494
assert(vm.$validator1.field1.touched === false)
@@ -135,7 +135,7 @@ describe('checkbox', () => {
135135
trigger(checkbox2, 'blur')
136136
trigger(checkbox2, 'change')
137137
vm.$nextTick(() => {
138-
assert(vm.$validator1.field1.required === true)
138+
assert(vm.$validator1.field1.required)
139139
assert(vm.$validator1.field1.minlength === true)
140140
assert(vm.$validator1.field1.valid === false)
141141
assert(vm.$validator1.field1.touched === true)
@@ -201,13 +201,13 @@ describe('checkbox', () => {
201201
trigger(checkbox3, 'change')
202202
trigger(checkbox3, 'blur')
203203
vm.$nextTick(() => {
204-
assert(vm.$validator1.field1.required === true)
204+
assert(vm.$validator1.field1.required)
205205
assert(vm.$validator1.field1.minlength === true)
206206
assert(vm.$validator1.field1.valid === false)
207207
assert(vm.$validator1.field1.touched === true)
208208
assert(vm.$validator1.field1.dirty === true)
209209
assert(vm.$validator1.field1.modified === true)
210-
assert(vm.$validator1.field2.required === true)
210+
assert(vm.$validator1.field2.required)
211211
assert(vm.$validator1.field2.valid === false)
212212
assert(vm.$validator1.field2.touched === true)
213213
assert(vm.$validator1.field2.dirty === true)
@@ -286,7 +286,7 @@ describe('checkbox', () => {
286286

287287
vm.$set('enabled', false)
288288
vm.$nextTick(() => {
289-
assert(vm.$validator1.field1.required === true)
289+
assert(vm.$validator1.field1.required)
290290
assert(vm.$validator1.field1.valid === false)
291291
assert(vm.$validator1.field1.touched === false)
292292
assert(vm.$validator1.field1.dirty === false)
@@ -357,7 +357,7 @@ describe('checkbox', () => {
357357
trigger(checkbox2, 'change')
358358
trigger(checkbox2, 'blur')
359359
vm.$nextTick(() => {
360-
assert(vm.$validator1.field1.required === true)
360+
assert(vm.$validator1.field1.required)
361361
assert(vm.$validator1.field1.valid === false)
362362
assert(vm.$validator1.field1.touched === true)
363363
assert(vm.$validator1.field1.dirty === true)

test/specs/custom.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ describe('custom', () => {
6868
})
6969

7070
it('should be validated', (done) => {
71-
assert(vm.$validator1.field1.numeric === true)
71+
assert(vm.$validator1.field1)
7272
assert(vm.$validator1.field1.errors[0].validator === 'numeric')
7373
assert(vm.$validator1.field1.errors[0].message === 'invalid numeric value')
7474

@@ -110,7 +110,7 @@ describe('custom', () => {
110110
})
111111

112112
it('should be validated', (done) => {
113-
assert(vm.$validator1.field1.numeric === true)
113+
assert(vm.$validator1.field1.numeric)
114114
assert(vm.$validator1.field1.errors[0].validator === 'numeric')
115115
assert(vm.$validator1.field1.errors[0].message === (vm.format + 'field1'))
116116

@@ -154,7 +154,7 @@ describe('custom', () => {
154154
})
155155

156156
it('should be validated', (done) => {
157-
assert(vm.$validator1.field1.required === true)
157+
assert(vm.$validator1.field1.required)
158158
assert(vm.$validator1.field1.errors[0].validator === 'required')
159159
assert(vm.$validator1.field1.errors[0].message === 'required field1')
160160

test/specs/field.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('field', () => {
2727
})
2828

2929
it('should be validated', (done) => {
30-
assert(vm.$validator1.field1.required === true)
30+
assert(vm.$validator1.field1.required)
3131
assert(vm.$validator1.field1.valid === false)
3232
assert(vm.$validator1.field1.dirty === false)
3333
assert(vm.$validator1.field1.modified === false)
@@ -80,12 +80,12 @@ describe('field', () => {
8080
})
8181

8282
it('should be validated', (done) => {
83-
assert(vm.$validator1.title.minlength === true)
83+
assert(vm.$validator1.title.minlength)
8484
assert(vm.$validator1.title.valid === false)
8585
assert(vm.$validator1.title.dirty === false)
8686
assert(vm.$validator1.title.modified === false)
8787
assert(vm.$validator1.title.touched === false)
88-
assert(vm.$validator1.description.required === true)
88+
assert(vm.$validator1.description.required)
8989
assert(vm.$validator1.description.valid === false)
9090
assert(vm.$validator1.description.dirty === false)
9191
assert(vm.$validator1.description.modified === false)

test/specs/radio.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe('radio', () => {
4343
assert(vm.$validator1.field1.touched === false)
4444
assert(vm.$validator1.field1.dirty === false)
4545
assert(vm.$validator1.field1.modified === false)
46-
assert(vm.$validator1.field2.required === true)
46+
assert(vm.$validator1.field2.required)
4747
assert(vm.$validator1.field2.valid === false)
4848
assert(vm.$validator1.field2.touched === false)
4949
assert(vm.$validator1.field2.dirty === false)

test/specs/reset.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ describe('reset', () => {
2525
})
2626

2727
it('should be reset', (done) => {
28-
assert(vm.$validator1.field1.required === true)
28+
assert(vm.$validator1.field1.required)
2929
assert(vm.$validator1.field1.min === false)
3030
assert(vm.$validator1.field1.max === false)
3131
assert(vm.$validator1.field1.valid === false)
@@ -91,7 +91,7 @@ describe('reset', () => {
9191
})
9292

9393
it('should be reset', (done) => {
94-
assert(vm.$validator1.field1.required === true)
94+
assert(vm.$validator1.field1.required)
9595
assert(vm.$validator1.field1.minlength === true)
9696
assert(vm.$validator1.field1.valid === false)
9797
assert(vm.$validator1.field1.touched === false)
@@ -160,7 +160,7 @@ describe('reset', () => {
160160
assert(vm.$validator1.field1.touched === false)
161161
assert(vm.$validator1.field1.dirty === false)
162162
assert(vm.$validator1.field1.modified === false)
163-
assert(vm.$validator1.field2.required === true)
163+
assert(vm.$validator1.field2.required)
164164
assert(vm.$validator1.field2.valid === false)
165165
assert(vm.$validator1.field2.touched === false)
166166
assert(vm.$validator1.field2.dirty === false)
@@ -225,7 +225,7 @@ describe('reset', () => {
225225

226226
it('should be reset', (done) => {
227227
// default
228-
assert(vm.$validator1.lang.required === true)
228+
assert(vm.$validator1.lang.required)
229229
assert(vm.$validator1.lang.minlength === true)
230230
assert(vm.$validator1.lang.valid === false)
231231
assert(vm.$validator1.lang.touched === false)

test/specs/select.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ describe('select', () => {
156156

157157
it('should be validated', (done) => {
158158
// default
159-
assert(vm.$validator1.lang.required === true)
159+
assert(vm.$validator1.lang.required)
160160
assert(vm.$validator1.lang.valid === false)
161161
assert(vm.$validator1.lang.touched === false)
162162
assert(vm.$validator1.lang.dirty === false)
@@ -190,7 +190,7 @@ describe('select', () => {
190190
trigger(select, 'change')
191191
trigger(select, 'blur')
192192
vm.$nextTick(() => {
193-
assert(vm.$validator1.lang.required === true)
193+
assert(vm.$validator1.lang.required)
194194
assert(vm.$validator1.lang.valid === false)
195195
assert(vm.$validator1.lang.touched === true)
196196
assert(vm.$validator1.lang.dirty === true)
@@ -231,7 +231,7 @@ describe('select', () => {
231231

232232
it('should be validated', (done) => {
233233
// default
234-
assert(vm.$validator1.lang.required === true)
234+
assert(vm.$validator1.lang.required)
235235
assert(vm.$validator1.lang.minlength === true)
236236
assert(vm.$validator1.lang.valid === false)
237237
assert(vm.$validator1.lang.touched === false)
@@ -368,7 +368,7 @@ describe('select', () => {
368368

369369
it('should be validated', (done) => {
370370
// default
371-
assert(vm.$validator1.lang.required === true)
371+
assert(vm.$validator1.lang.required)
372372
assert(vm.$validator1.lang.minlength === true)
373373
assert(vm.$validator1.lang.valid === false)
374374
assert(vm.$validator1.lang.touched === false)
@@ -389,7 +389,7 @@ describe('select', () => {
389389
trigger(select, 'change')
390390
trigger(select, 'blur')
391391
vm.$nextTick(() => {
392-
assert(vm.$validator1.lang.required === true)
392+
assert(vm.$validator1.lang.required)
393393
assert(vm.$validator1.lang.minlength === false)
394394
assert(vm.$validator1.lang.valid === false)
395395
assert(vm.$validator1.lang.touched === true)
@@ -406,7 +406,7 @@ describe('select', () => {
406406
trigger(select, 'change')
407407
trigger(select, 'blur')
408408
vm.$nextTick(() => {
409-
assert(vm.$validator1.lang.required === true)
409+
assert(vm.$validator1.lang.required)
410410
assert(vm.$validator1.lang.minlength === false)
411411
assert(vm.$validator1.lang.valid === false)
412412
assert(vm.$validator1.lang.touched === true)

test/specs/validate.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('$validate', () => {
2424
})
2525

2626
it('should be validated', (done) => {
27-
assert(vm.$validator1.field1.required === true)
27+
assert(vm.$validator1.field1.required)
2828
assert(vm.$validator1.field1.min === false)
2929
assert(vm.$validator1.field1.max === false)
3030
assert(vm.$validator1.field1.valid === false)
@@ -87,7 +87,7 @@ describe('$validate', () => {
8787
})
8888

8989
it('should be validated', (done) => {
90-
assert(vm.$validator1.field1.required === true)
90+
assert(vm.$validator1.field1.required)
9191
assert(vm.$validator1.field1.minlength === true)
9292
assert(vm.$validator1.field1.valid === false)
9393
assert(vm.$validator1.field1.touched === false)
@@ -152,7 +152,7 @@ describe('$validate', () => {
152152
assert(vm.$validator1.field1.touched === false)
153153
assert(vm.$validator1.field1.dirty === false)
154154
assert(vm.$validator1.field1.modified === false)
155-
assert(vm.$validator1.field2.required === true)
155+
assert(vm.$validator1.field2.required)
156156
assert(vm.$validator1.field2.valid === false)
157157
assert(vm.$validator1.field2.touched === false)
158158
assert(vm.$validator1.field2.dirty === false)
@@ -214,7 +214,7 @@ describe('$validate', () => {
214214

215215
it('should be validated', (done) => {
216216
// default
217-
assert(vm.$validator1.lang.required === true)
217+
assert(vm.$validator1.lang.required)
218218
assert(vm.$validator1.lang.minlength === true)
219219
assert(vm.$validator1.lang.valid === false)
220220
assert(vm.$validator1.lang.touched === false)

0 commit comments

Comments
 (0)