很多时候都会用表单中输入正整数的情况,在element ui中可以用el-input-number 标签来显示输入框是number类型的,或者type="number"也可以的,但是正整数就需要判断了
可以利用正则来判断
代码如下
<el-form ref="checkData" :rules="checkData" :model="eyPara" label-position="left" label-width="100px">
<el-form-item label="值:" prop="amErrYear">
<el-input v-model="eyPara.amErrYear" placeholder="输入值" clearable/>
</el-form-item>
</el-form>
export default{
data(){
const blurText = async(rule, value, callback) => {
// const reg = /^-d.?d*$/
// const boolean = reg.test(value)
const boolean = new RegExp('^[1-9][0-9]*$').test(value)
// console.log(boolean)
if (!boolean) {
this.$message.warning('请输入正整数')
this.eyPara.amErrYear = ''
}
}
return {
eyPara: {
amErrYear: ''
},
checkData:{
amErrYear: [
{ required: true, message: '输入值', trigger: 'blur' },
{ validator: blurText, trigger: 'blur' } //表单验证的时候会调用的方法
],
}
}
}
}
rules表单验证规则,异步表单验证,validator 是根据校验规则得到的校验器 ,自定义校验 callback 必须被调用。 更多高级用法可参考 async-validator。