mobx-form-validate icon indicating copy to clipboard operation
mobx-form-validate copied to clipboard

validate是不是可以考虑接收一个数组

Open Manweill opened this issue 7 years ago • 3 comments

validate是不是可以考虑接收数组,如validate([{req,msg},{req,msg}]这样

Manweill avatar Feb 24 '17 06:02 Manweill

@manweill 改了个接收 reqArray 和 msgArray 的 : https://github.com/PizzaLiu/mobx-form-validate/tree/npm

@observable
@validate([/^.+$/, /^[abc]+$/, /^[abc]{3}$/], ['请输入密码', '只能有abc', '必须是3位字符'])
password = '';

安装:npm install https://github.com/PizzaLiu/mobx-form-validate.git#npm --save

PizzaLiu avatar Mar 22 '17 09:03 PizzaLiu

@manweill 我是觉得这种场合用函数形式更为通用一些。你可以做个简单的封装。

function validateGroup(reqArray, msgArray){
  return (value) => {
    return msgArray[reqArray.findIndex(v => !v.test(value))];
  }
}

@validate(validateGroup([/^.+$/, /^[abc]+$/, /^[abc]{3}$/], ['请输入密码', '只能有abc', '必须是3位字符']))

tdzl2003 avatar Apr 05 '17 08:04 tdzl2003

嗯,我自己按照项目需要结合validator也封装了个库 https://github.com/manweill/mobx-form-validation。 validator地址 https://github.com/chriso/validator.js。 感觉你这边也可以整合一起,毕竟只有正则还是很不方便的。

Manweill avatar Apr 05 '17 08:04 Manweill