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

Commit f90ca53

Browse files
committed
Release v1.4.2
1 parent 027ceb9 commit f90ca53

File tree

7 files changed

+51
-15
lines changed

7 files changed

+51
-15
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# v1.4.2 / 2015-08-16
2+
3+
* Fix dirty bug (#43)
4+
15
# v1.4.1 / 2015-07-31
26

37
* Fix code bundling issue

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ var validator = require('vuejs/vue-validator')
3434
## CDN
3535

3636
```html
37-
<script src="http://cdn.jsdelivr.net/vue.validator/1.4.1/vue-validator.min.js"></script>
37+
<script src="http://cdn.jsdelivr.net/vue.validator/1.4.2/vue-validator.min.js"></script>
3838
```
3939

4040

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "vue-validator",
33
"main": "dist/vue-validator.js",
44
"description": "Validator component for Vue.js",
5-
"version": "1.4.1",
5+
"version": "1.4.2",
66
"homepage": "https://github.com/vuejs/vue-validator",
77
"authors": [
88
"kazuya kawaguchi <kawakazu80@gmail.com>"

component.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vue-validator",
33
"repo": "vuejs/vue-validator",
4-
"version": "1.4.1",
4+
"version": "1.4.2",
55
"description": "Validator component for Vue.js",
66
"main": "index.js",
77
"license": "MIT"

dist/vue-validator.js

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* vue-validator v1.4.1
2+
* vue-validator v1.4.2
33
* (c) 2014-2015 kazuya kawaguchi
44
* Released under the MIT License.
55
*/
@@ -84,6 +84,7 @@ return /******/ (function(modules) { // webpackBootstrap
8484
var componentName = options.component = options.component || '$validator'
8585
var directiveName = options.directive = options.directive || 'validate'
8686
var path = Vue.parsers.path
87+
var util = Vue.util
8788

8889
function getVal (obj, keypath) {
8990
var ret = null
@@ -119,35 +120,40 @@ return /******/ (function(modules) { // webpackBootstrap
119120
}, Vue.extend(__webpack_require__(3)))
120121
}
121122

123+
var value = el.getAttribute('value')
124+
if (el.getAttribute('number') !== null) {
125+
value = util.toNumber(value)
126+
}
127+
this._init = value
128+
122129
var validation = $validator._getValidationNamespace('validation')
123-
var init = el.getAttribute('value') || vm.$get(keypath)
130+
var init = value || vm.$get(keypath)
124131
var readyEvent = el.getAttribute('wait-for')
125132

126133
if (readyEvent && !$validator._isRegistedReadyEvent(keypath)) {
127134
$validator._addReadyEvents(keypath, this._checkParam('wait-for'))
128135
}
129136

130-
this._setupValidator($validator, keypath, validation, validator, arg, init)
137+
this._setupValidator($validator, keypath, validation, validator, el, arg, init)
131138
},
132139

133140
update: function (val, old) {
134141
if (this._ignore) { return }
135142

143+
var self = this
136144
var vm = this.vm
137145
var keypath = this._keypath
138146
var validator = this.arg ? this.arg : this.expression
139147
var $validator = vm[componentName]
140148

141149
$validator._changeValidator(keypath, validator, val)
142150
if (!$validator._isRegistedReadyEvent(keypath)) { // normal
143-
$validator._updateDirtyProperty(keypath, $validator.$get(keypath))
144-
$validator._doValidate(keypath, validator, $validator.$get(keypath))
151+
this._updateValidator($validator, validator, keypath)
145152
} else { // wait-for
146153
vm.$once($validator._getReadyEvents(keypath), function (val) {
147154
$validator._setInitialValue(keypath, val)
148155
vm.$set(keypath, val)
149-
$validator._updateDirtyProperty(keypath, $validator.$get(keypath))
150-
$validator._doValidate(keypath, validator, $validator.$get(keypath))
156+
self._updateValidator($validator, validator, keypath)
151157
})
152158
}
153159
},
@@ -176,12 +182,18 @@ return /******/ (function(modules) { // webpackBootstrap
176182
})
177183
},
178184

179-
_setupValidator: function ($validator, keypath, validation, validator, arg, init) {
185+
_setupValidator: function ($validator, keypath, validation, validator, el, arg, init) {
180186
var vm = this.vm
181187

182188
if (!getVal($validator[validation], keypath)) {
183189
$validator._defineModelValidationScope(keypath)
184-
$validator._setInitialValue(keypath, init)
190+
if (el.tagName === 'INPUT' && el.type === 'radio') {
191+
if (getVal(vm, keypath) === init) {
192+
$validator._setInitialValue(keypath, init)
193+
}
194+
} else {
195+
$validator._setInitialValue(keypath, init)
196+
}
185197
}
186198

187199
if (!getVal($validator[validation], [keypath, validator].join('.'))) {
@@ -190,6 +202,26 @@ return /******/ (function(modules) { // webpackBootstrap
190202
}
191203
},
192204

205+
_updateValidator: function ($validator, validator, keypath) {
206+
var value = $validator.$get(keypath)
207+
var el = this.el
208+
209+
if (this._init) {
210+
value = this._init
211+
delete this._init
212+
}
213+
214+
if (el.tagName === 'INPUT' && el.type === 'radio') {
215+
if (value === $validator.$get(keypath)) {
216+
$validator._updateDirtyProperty(keypath, value)
217+
}
218+
} else {
219+
$validator._updateDirtyProperty(keypath, value)
220+
}
221+
222+
$validator._doValidate(keypath, validator, $validator.$get(keypath))
223+
},
224+
193225
_teardownValidator: function (vm, $validator, keypath, validator) {
194226
$validator._undefineValidatorToValidationScope(keypath, validator)
195227
$validator._undefineModelValidationScope(keypath, validator)

dist/vue-validator.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vue-validator",
33
"description": "Validator component for Vue.js",
4-
"version": "1.4.1",
4+
"version": "1.4.2",
55
"author": "kazuya kawaguchi",
66
"bugs": {
77
"url": "https://github.com/vuejs/vue-validator/issues"

0 commit comments

Comments
 (0)