新增用户信息常用的验证规则,包括自定义的验证规则

 需要注意的是,在el-form上加:rules="rules" ref="formConRef"。

每一个el-form-item上都需要添加相应的prop信息。

自定义验证规则时,每个判断都需要调用callback函数,必须写else部分。

<el-form :model="formCon" :rules="rules" ref="formConRef" label-width="100px">
				<el-form-item label="用户名" prop="adminName">
					<el-input v-model="formCon.adminName" clearable></el-input>
				</el-form-item>
				<el-form-item label="手机号" prop="phoneNumber">
					<el-input v-model="formCon.phoneNumber" maxlength="11"
						clearable></el-input>
				</el-form-item>
				<el-form-item label="性别" prop="gender">
					<el-radio-group v-model="formCon.gender">
						<el-radio label="男">男</el-radio>
						<el-radio label="女">女</el-radio>
					</el-radio-group>
				</el-form-item>
                <el-form-item label="手机邮箱" prop="email">
					<el-input v-model="formCon.email"
						clearable></el-input>
				</el-form-item>
				<el-form-item label="权限" prop="permission">
					<el-select v-model="formCon.permission" placeholder="请选择权限">
						<el-option label="管理员" value="0"></el-option>
						<el-option label="普通用户" value="user"></el-option>
					</el-select>
				</el-form-item>
			</el-form>
			<div class="btnRight">
				<el-button size="small" type="primary"  @click="makeAddMessage()">确认</el-button>
			</div>

<script>
	export default {
		components: {
			
		},
		data() {
			return {
                formCon: {},
				rules: {
					adminName: [{required: true,message: '请输入用户名',trigger: 'blur'}],
					phoneNumber: [
						{required: true,message: '请输入手机号',trigger: 'blur'},
						{pattern: /^[0-9]{11}$/,message: '手机号格式不正确',trigger: 'blur'},
						{validator:this.validateUniquePhoneNumber,trigger:'blur'}
					],
                    email:[
                      { required: true, message: '请输入邮箱地址', trigger: 'blur' },
                      { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
                    ],
					gender: [{required: true,message: '请选择性别',trigger: 'change'}],
					permission: [{required: true,message: '请分配权限',trigger: 'change'}],
				},
            }
        },
        methods:{
            makeAddMessage() { //新增
				this.$refs.formConRef.validate((valid) => {
					if (valid) {
						let params = 接口地址;
						//postAsync为自定义调用接口方式
						this.$network.postAsync(params,this.formCon).then((res)=>{
                            if(res.data == true){
							    this.$message({
								    type: 'success',
								    message: '添加成功!'
							    });
                            }
						})
					} else {
						return false
					}
				})
			},
            validateUniquePhoneNumber(rule,value,callback){
				if (!/^[0-9]{11}$/.test(value)) {
				     callback(new Error('请输入正确格式的手机号'));
				} else if (this.existingPhoneNumbers.some(phone => phone !==  this.currentEditingPhoneNumber && phone === value)) {
				     callback(new Error('您输入的手机号已被注册'));
				} else {
				     callback(); // 验证通过,必须调用 callback() 并且不带参数
				 }
			},
        }
    }
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值