大家好我需要帮助的时刻js我有一个名为Start的输入字段和另一个名为stop的输入字段
start = moment().format('LT'); // works when i click on the play button
stop = moment().format('LT'); // works when i focus on the counter input beside the play button --> for test
我想手动更改开始输入字段,所以我想要一个验证函数,它接受输入值并检查输入是否有效在此表单LT
上为ex:当我删除值时在图片和类型中输入6:39 PM
如下6:02:00 PM or 1:00 PM or
添加字符串5:dfds2 PM
我想要控制台记录任何错误消息and return the previous value to the input again
当我删除当前值时并添加一个类似' 1的数字' 1没有am or pm
所以它确定数字是否在停止输入值之前或之后,并在输入字段中键入,如1:00 AM or 1:00PM
我使用此函数来验证开始输入字段,但它给出了错误答案< / p>
function validate(inputVal) {
let temp =this.startTime;
let x = temp;
if(moment(inputVal, "hh:mm").isValid()) {
x= moment(inputVal, "HH:mm").format('hh:mm A');
console.log("inputVal is: " + inputVal + " and x is: " + x);
this.startTime = x
} else {
this.startTime = "temp";
console.log("no");
}
}
这是照片 欲了解更多信息,你可以访问toggl website我的想法是从那里获取的 任何帮助?!提前谢谢
答案 0 :(得分:1)
我继续清理你的功能,减少了逻辑,现在你应该确保时刻格式是你想要的
function validate(val) {
let parsedTime = moment(val, "hh:mm");
if (parsedTime.isValid()) {
this.startTime = parsedTime.format('hh:mm A');
}
}