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>

回答:

与正则表达式结合使用

<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('请填写正确的.....'))
}
}
}

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注