JeecgBoot -表单信息校验

1、 登录

1)案例场景

场景:用户登录,输入用户名及密码验证码;
① 字段信息【用户名、密码、验证码】;
② 字段校验【用户名、密码、验证码】;

2)过程描述

① 用户名校验

<a-form-model-item required prop="username">
	<a-input v-model="model.username" size="large" placeholder="请输入帐户名 / admin">
		<a-icon slot="prefix" type="user" :style="{ color: 'rgba(0,0,0,.25)' }"/>
	</a-input>
</a-form-model-item>
username: [
	{ required: true, message: '请输入用户名!' },
	{ validator:this.handleUsernameOrEmail}
]
// 判断登录类型
handleUsernameOrEmail (rule, value, callback) {
	const regex = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
	if (regex.test(value)) {
		this.loginType = 0
	} else {
		this.loginType = 1
	}
	callback()
}

② 密码校验

<a-form-model-item required prop="password">
	<a-input v-model="model.password" size="large" type="password" autocomplete="false" placeholder="请输入密码/123456">
		<a-icon slot="prefix" type="lock" :style="{ color: 'rgba(0,0,0,.25)' }"/>
	</a-input>
 </a-form-model-item>
// validator: 'click'
password: [{ required: true, message: '请输入密码!'}]

③ 验证码校验

<a-form-model-item required prop="inputCode">
	<a-input v-model="model.inputCode" size="large" type="text" placeholder="请输入验证码">
		<a-icon slot="prefix" type="smile" :style="{ color: 'rgba(0,0,0,.25)' }"/>
	</a-input>
</a-form-model-item>
inputCode: [{ required: true, message: '请输入验证码!'}]

3)结果输出

在这里插入图片描述


2、 注册

1)案例场景

场景:用户注册,注册用户名、密码及确认密码;
① 字段信息【用户名、密码、确认密码】;
② 字段校验【用户名、密码、确认密码】;

2)过程描述

① 用户名

<a-form-model-item prop="username">
	<a-input v-model="model.username" size="large" type="text" autocomplete="false" placeholder="请输入用户名"/>
</a-form-model-item>
username: [
	{ required: true, message: '请输入用户名', trigger: 'blur' },
	{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
],

② 密码、 确认密码

<a-form-model-item prop="password">
	<a-input v-model="model.password" size="large" type="password" @click="handlePasswordInputClick" autocomplete="false" placeholder="至少8位密码,区分大小写">
	</a-input>
</a-form-model-item>

<a-form-model-item prop="password2">
	<a-input v-model="model.password2" size="large" type="password" autocomplete="false" placeholder="确认密码"></a-input>
</a-form-model-item>
 password: [
	{ required: true, message: '请输入密码', trigger: 'blur' },
	{ validator: validatePass, trigger: 'blur' }
],
password2: [
	{ required: true, message: '请输入确认密码', trigger: 'blur' },
	{ validator: validatePass2, trigger: 'blur' }
],
var password = (rule, value, callback) => {
	if (value === '') {
		callback(new Error('请输入密码'))
	} else {
		if (this.form.password2 !== '') {
		this.$refs.addForm.validateField('password2')
	}
		callback()
	}
}
var password2 = (rule, value, callback) => {
	if (value === '') {
		callback(new Error('请再次输入密码'))
	} else if (value !== this.form.password) {
		callback(new Error('两次输入密码不一致!'))
	} else {
		callback()
	}
}

3)结果输出

在这里插入图片描述

3、项目信息表单校验

1)案例场景

场景:项目信息表单展示字段校验
① 字段信息【任务名称、项目类型、评估人员、委托单位、调整因子、基准数据】;
② 字段校验【任务名称、项目类型、评估人员、委托单位、调整因子、基准数据】;

2)过程描述

项目信息表单在这里插入图片描述

1、任务名称

任务名称校验设置为6-50个字数之内,少于6个大于50个则提示字数限制内容

mdName: [
	{ required: true,message: '请输入项目名称'},
	{ pattern: /^.{6,50}$/, message: '请输入6到50个字符信息'}
],

在这里插入图片描述在这里插入图片描述

2、项目类型

① 配置项目类型下拉框
添加项目类型字段对应的数据字典表信息
在这里插入图片描述
② 在项目信息表单中添加标签
使用下拉框控件,添加与项目类型对应的数据字典表名称dictCode="projectype"获取数据

<a-col :span="24">
	<a-form-model-item label="项目类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mdType">
		<j-dict-select-tag type="list" v-model="model.mdType" dictCode="projectype" placeholder="请选择项目类型" />
	</a-form-model-item>
</a-col>

③ 开启项目类型字段选择校验,未选择则提示请选择信息

mdType: [{ required: true, message: '请选择项目类型!' }]

在这里插入图片描述

3、评估人员

与项目类型字段一致,对应评估人员数据字典名称为dictCode=“pinguser”
在这里插入图片描述

4、委托单位【委托人员、联系电话】- popup控件

① 委托单位字段关联委托人员、联系电话两个字段;
② 点击委托单位字段,弹出popup弹框,选择信息,带出委托人员、联系电话字段信息;
③ 首选设置委托人员、联系电话两个字段为只读;

<a-col :span="24">
	<a-form-model-item label="委托人员" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companyPer">
		<a-input v-model="model.companyPer" placeholder="请输入委托人员" readOnly></a-input>
	</a-form-model-item>
</a-col>
<a-col :span="24">
	<a-form-model-item label="联系电话" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="companyPhone">
		<a-input v-model="model.companyPhone" placeholder="请输入联系电话" readOnly></a-input>
	</a-form-model-item>
</a-col>

在这里插入图片描述
④ 设置委托单位字段点击弹出popup弹框

<a-col :span="24">
	<a-form-model-item label="委托单位" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mdCompany">
		<j-popup v-model="model.mdCompany"  field="mdCompany"
					org-fields="company_name,company_client,company_phone"
	                dest-fields="mdCompany,companyPer,companyPhone"
	                code="test_company"  :multi="true"  @input="popupCallback" />
	</a-form-model-item>
</a-col> 
popupCallback(value,row){
	this.model = Object.assign(this.model, row);
}

在这里插入图片描述
在这里插入图片描述

6、调整因子

① 添加调整因子对应的分类字典信息,并配置到表单字段中

<a-col :span="24">
	<a-form-model-item label="调整因子" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="mdFactor">
		<j-category-select v-model="model.mdFactor" pcode="B03" placeholder="请选择调整因子"/>
	</a-form-model-item>
</a-col>

② 设置字段校验信息

mdFactor: [{ required: true, message: '请选择调整因子!' },
	{ pattern: /^((([^0][0-9]+|0)\.([0-9]{1,2}))$)|^(([1-9]+)\.([0-9]{1,2})$)/, message: '请选择数值节点'}
]

在这里插入图片描述
在这里插入图片描述

7、基准数据【年份、生产率】- 下拉选择(省市区控件)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JeecgBoot-Vue3的登录功能是由前端后端共同完成的,需要在前端修改相关代码并在后端配置相关信息。 下面是修改登录功能的步骤: 1. 前端代码修改: 在src/views/login/Login.vue文件中,可以找到登录页面的相关代码。 其中,表单的数据绑定和提交函数如下: ``` data() { return { formData: { username: '', password: '', captcha: '' }, captchaImg: '', rules: { username: [{ required: true, message: '请输入用户名', trigger: 'blur' }], password: [{ required: true, message: '请输入密码', trigger: 'blur' }], captcha: [{ required: true, message: '请输入验证码', trigger: 'blur' }] } } }, methods: { onSubmit() { this.$refs.loginForm.validate(valid => { if (valid) { this.$store.dispatch('user/login', this.formData).then(() => { this.$router.push({ path: '/' }) }) } else { return false } }) } } ``` 可以看到,formData中保存了表单的数据,其中包括了用户名、密码和验证码。在onSubmit函数中,通过调用this.$store.dispatch('user/login', this.formData)来提交登录信息后端。 因此,如果需要修改登录功能,可以先在formData中添加或删除需要的数据项,然后在onSubmit函数中调用相应的接口即可。 2. 后端配置修改: JeecgBoot-Vue3使用了SpringBoot框架作为后端,因此需要在后端配置文件中定义相关的接口。 打开springboot工程的application.yml文件,在security节点下可以找到登录相关的配置信息,如下: ``` security: login-uri: /login logout-uri: /logout success-handler-ref: successHandler failure-handler-ref: failureHandler authentication-provider: user-service-ref: userDetailsService ``` 其中,login-uri表示登录接口的路径,logout-uri表示注销接口的路径。success-handler-ref和failure-handler-ref分别指定了登录成功和失败后的处理器。 如果需要添加或修改登录功能,则可以在这里定义新的接口,然后在后端编写相应的业务逻辑。 以上就是JeecgBoot-Vue3修改登录功能的简要步骤,具体实现过程可以根据自己的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值