Ant design Vue中时间选择框校验和时间大小比较

6 篇文章 1 订阅
4 篇文章 1 订阅
表单元素设置初始值

Ant design Vue中时间选择框TimePicker设置初始值,效果如下:
在这里插入图片描述
使用v-decorator对表单元素绑定值的同时对必填项做校验,format是将时间显示格式为“时:分”,如果要时分秒格式可以写成format='HH:mm:ss'

<a-form :form='form'>
	<a-time-picker v-decorator="['Time',validatorRules.Time]" format='HH:mm' />
</a-form>

js代码如下:

import moment from 'moment'		//引入moment 
export default {
	data(){
		return {
			form: this.$form.createForm(this), // 只有这样注册后,才能拿到表单数据
			//自定义校验
			validatorRules: {
				Time: {
					 rules: [{ required: true, message: '请选择时间!' }],	//设置必填
					 initialValue: moment('15:00', 'HH:mm')		//设置时间初始值
				}
			}
		}
		
	},
	methods: {
		moment		//声明moment 
	}
}

官网中使用default-value来设置初始值,但是和v-decorator一起使用会报出警告

  <a-time-picker :default-value="moment('15:00', 'HH:mm')" format="HH:mm" />

在这里插入图片描述

时间格式转换

validateFields()方法校验并获取一组输入域的值,直接打印时间,发现并不是我们想要的格式

this.form.validateFields((err, values) => {
	if (!err) {
	//校验通过所执行代码
		console.log(values.Time);
	}
})

在这里插入图片描述
如下代码可以将时间转成字符串进行显示

	let Time = moment(values.Time).format('HH:mm:ss');
	console.log(Time);		//15:00:00
时间大小比较
	let time1 = "12:34:00";
	let time2 = "13:12:56";

算法:通过正则表达式匹配字符串中的冒号,转换成26位数比较大小

	let time1 = "12:34:00";
	let time2 = "13:12:56";
	let newTime1 = time1.replace(/:/g, '');	//打印出来 "123400"
	let newTime2 = time2.replace(/:/g, '');	//打印出来 "131256"
	if(newTime1 > newTime2 ) { ... }
Ant Design Vue 是一个非常受欢迎的 UI 组件库,它提供了丰富的表单组件,包括输入、下拉选择等等。要实现动态添加表单必填校验,可以按照以下步骤进行操作: 1. 首先,引入 Ant Design Vue 的 Form 组件和相应的验证规则模块,例如 `required` 必填规则。 2. 在 Vue 的 data 定义一个表单对象,包含需要动态添加的表单控件的值。 3. 在模板使用 Ant Design Vue 的 Form 组件,并使用 v-model 指令将表单对象和控件的值进行绑定。 4. 使用 v-for 指令遍历需要动态添加的表单控件,通过一个数组来提供控件的模板。 5. 在表单控件的模板,使用 :rules 属性绑定验证规则,例如 `:rules="[{ required: true, message: '该字段为必填项' }]` 6. 在模板提供一个按钮或其他交互方式,用来触发动态添加表单控件的操作。 7. 当点击按钮时,通过修改表单对象的属性或者添加新的属性,实现动态添加表单控件。 8. 提交表单时,通过调用 validate 方法对表单进行校验,这会触发相关的验证规则。 9. 根据校验结果,可以在模板展示错误信息或者处理其他逻辑。 需要注意的是,动态添加表单必填校验时,需要在动态添加表单控件的同时,将相应的验证规则也添加到表单对象。另外,为了方便校验和错误信息的展示,建议使用对应的验证规则模块和提示文本。 这样,通过上述步骤,就可以实现 Ant Design Vue 动态添加表单必填校验了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌萌哒小可爱啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值