antd-design-vue form表单验证,禁止输入中文,只数字,等验证要怎么写呀~~

因为是在表单里写的,所以有点迷,不知道要怎么写..
请大神给个思路~~~
<a-form-item v-bind="formStyle" label="别名(英文)">
    <a-input
        placeholder="请输入别名"
        v-decorator="['menuPath', { rules: [
            { required: true, message: '请输入别名' },
            { validator: (rule, value, cb) => this.changeKey(rule, value, cb) }
        ] }]"
    />
</a-form-item>
把采纳给了楼下
我现在的解决办法如下: 感觉这样更方便点儿
 <a-form-item v-bind="formStyle" label="别名(英文)">
    <a-input
        placeholder="请输入别名"
        maxlength="50"
        minlength="3"
        v-decorator="['menuPath', { rules: [
            { required: true, message: '请输入别名' }
        ],
            getValueFromEvent: (event) => {
                return event.target.value.replace(/[\u4E00-\u9FA5]/g,'')
            }
         }]"
    />
</a-form-item>
阅读 16.9k
1 个回答

与正则表达式结合使用

<a-form-item v-bind="formStyle" label="别名(英文)">
    <a-input
        placeholder="请输入别名"
        v-decorator="['menuPath', { rules: [
            { required: true, message: '请输入别名' },
            { validator: this.changeKey }
        ] }]"
    />
</a-form-item>
methods:{

changeKey(rule, value, callback){
//定义你需要的正则
 let rgx =// 
if(rgx.test(value)){
//验证通过调用回调函数
 callback()
}else{
callback(new Error('请填写正确的.....'))
}
}
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题