Skip to content

Commit

Permalink
修复:WeValidator.checkValue 校验空字段不符合预期
Browse files Browse the repository at this point in the history
  • Loading branch information
ChanceYu committed May 12, 2019
1 parent ec00aec commit 9800e3a
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 16 deletions.
2 changes: 1 addition & 1 deletion example/mpvue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"dependencies": {
"mpvue": "^1.0.11",
"vuex": "^3.0.1",
"we-validator": "^2.1.5"
"we-validator": "^2.1.6"
},
"devDependencies": {
"mpvue-loader": "1.0.13",
Expand Down
2 changes: 1 addition & 1 deletion example/nodejs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@
"koa-bodyparser": "^3.2.0",
"koa-router": "^7.4.0",
"koa-views": "^5.2.1",
"we-validator": "^2.1.5"
"we-validator": "^2.1.6"
}
}
4 changes: 2 additions & 2 deletions example/wechat/js/we-validator.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions lib/we-validator.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "we-validator",
"version": "2.1.5",
"version": "2.1.6",
"description": "简单灵活的表单验证插件,支持小程序、浏览器、Nodejs",
"main": "lib/we-validator.js",
"scripts": {
Expand Down
29 changes: 20 additions & 9 deletions src/we-validator.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,32 +47,43 @@ class WeValidator {
static RULES = {}

/**
* 动态添加验证规则(全局)
* 动态添加验证规则
* @param {string} ruleName 规则名称
* @param {regexp|function} ruleValue 验证规则
* @param {object} ruleOption 规则配置
* @param {string} [ruleOption.message] 默认错误提示文字
* @param {regexp|function} [ruleOption.rule] 验证规则
*/
static addRule = function (ruleName, ruleValue) {
WeValidator.RULES[ruleName] = ruleValue
static addRule = function (ruleName, ruleOption) {
WeValidator.RULES[ruleName] = ruleOption
}

/**
* 验证单个字段数据
* @param {string} ruleName 规则名称
* @param {string} value 要验证的值
* @param {any} param 传递的验证参数
* @param {boolean} skip 未填跳过校验,仅供内部使用
*/
static checkValue = function (ruleName, value, param){
static checkValue = function (ruleName, value, param, skip){
let rule = WeValidator.RULES[ruleName].rule

if(isRegExp(rule)){
return !requiredFn(value) || rule.test(value)
if(skip){
return !requiredFn(value) || rule.test(value)
}else{
return rule.test(value)
}
}

if(isFunction(rule)){
if(ruleName === 'required'){
return requiredFn(value)
}else{
return !requiredFn(value) || rule.call(this, value, param)
if(skip){
return !requiredFn(value) || rule.call(this, value, param)
}else{
return rule.call(this, value, param)
}
}
}
}
Expand Down Expand Up @@ -212,7 +223,7 @@ class WeValidator {
ruleParam = ruleParam.call(this, value)
}

let isFieldValid = WeValidator.checkValue.call(this, ruleName, value, ruleParam)
let isFieldValid = WeValidator.checkValue.call(this, ruleName, value, ruleParam, true)

if (!isFieldValid) {
// 验证不通过
Expand All @@ -237,7 +248,7 @@ class WeValidator {
}

if(hasError){
if(multiCheck){
if(multiCheck && showMessage){
this._showErrorMessage(errorData, onMessage)
}
return false
Expand Down

0 comments on commit 9800e3a

Please sign in to comment.