Javascript 如何在JS中验证DateTime 4控件
我很难在Javascript中验证RadDateTimePicker 我有一个更新按钮,它在JS中触发一个函数,用于验证4个控件的日期和时间。 这些控件是:时钟输入、开始中断、结束中断、时钟输出 我的逻辑是:Javascript 如何在JS中验证DateTime 4控件,javascript,jquery,asp.net,datetime,telerik,Javascript,Jquery,Asp.net,Datetime,Telerik,我很难在Javascript中验证RadDateTimePicker 我有一个更新按钮,它在JS中触发一个函数,用于验证4个控件的日期和时间。 这些控件是:时钟输入、开始中断、结束中断、时钟输出 我的逻辑是: 列表项 1). 打卡时间不能在开始休息后。结束休息,打卡下班 列表项 2). 打卡前、打卡结束后、打卡结束后不能开始休息 列表项 3). 下班打卡前、下班打卡前、下班打卡后不能使用下班打卡 列表项 4). 打卡时间不能早于打卡时间、开始休息时间、结束休息时间 JS功能: 函数Vali
- 列表项 1). 打卡时间不能在开始休息后。结束休息,打卡下班
- 列表项 2). 打卡前、打卡结束后、打卡结束后不能开始休息
- 列表项 3). 下班打卡前、下班打卡前、下班打卡后不能使用下班打卡
- 列表项 4). 打卡时间不能早于打卡时间、开始休息时间、结束休息时间
函数ValidateTransaction(){
var ClockIn=$find(“”);
var ClockInDate=ClockIn.get_selectedDate();
var ClockOut=$find(“”);
var ClockOutDate=ClockOut.get_selectedDate();
var StartBreak=$find(“”);
var StartBreakDate=StartBreak.get_selectedDate();
var EndBreak=$find(“”);
var EndBreakDate=EndBreak.get_selectedDate();
//时钟的验证。
if(ClockInDate!=null){
//打卡不能在startBreak之后。
if(StartBreakDate!=null){
如果((起始起始日期-时钟起始日期)<0){
radalert(“DateTime中的时钟不能在开始-中断日期时间之后。”,440170,“案例全局警报”);
返回false;
}
}
//时钟输入不能在EndBreak之后。
如果(EndBreakDate!=null){
如果((EndBreakDate-ClockInDate)<0){
radalert(“日期时间内的时钟不能在结束中断日期时间之后。”,440170,“案例全局警报”);
返回false;
}
}
//打卡后不能再打卡。
if(ClockOutDate!=null){
如果((ClockOutDate-ClockInDate)<0){
radalert(“时钟输入日期时间不能在时钟输出日期时间之后。”,440170,“案例全局警报”);
返回false;
}
}
}//结束时钟验证。
// ============================== //
//StartBreak的验证。
if(StartBreakDate!=null){
//开始-休息时间不能早于打卡时间。
if(ClockInDate!=null){
如果((钟控状态-起始状态)<0){
radalert(“开始-中断日期时间不能早于DateTime中的时钟。”,440170,“案例全局警报”);
返回false;
}
}
//开始打断不能在结束打断之后。
如果(EndBreakDate!=null){
如果((EndBreakDate-StartBreakDate)<0){
radalert(“开始中断日期时间不能晚于结束中断日期时间。”,440170,“案例全局警报”);
返回false;
}
}
//打卡结束后不能开始休息。
if(ClockOutDate!=null){
如果((ClockOutDate-StartBreakDate)<0){
radalert(“开始-中断日期时间不能在打卡停止日期时间之后。”,440170,“案例全局警报”);
返回false;
}
}
}//开始-中断验证。
// ============================== //
//EndBreak的验证。
如果(EndBreakDate!=null){
//在打卡进入之前,不能结束休息。
if(ClockInDate!=null){
如果((ClockInDate-EndBreakDate)<0){
radalert(“结束中断日期时间不能早于DateTime中的时钟。”,440170,“案例全局警报”);
返回false;
}
}
//结束打断不能早于开始打断。
if(StartBreakDate!=null){
如果((StartBreakDate-EndBreakDate)<0){
radalert(“结束中断日期时间不能早于开始中断日期时间。”,440170,“案例全局警报”);
返回false;
}
}
//打卡结束后不能开始休息。
if(ClockOutDate!=null){
如果((ClockOutDate-EndBreakDate)<0){
radalert(“结束中断日期时间不能在打卡停止日期时间之后。”,440170,“案例全局警报”);
返回false;
}
}
}//结束中断验证。
}
你可以用它来缓解压力。以下是一些代码,可为您提供指导:
function ValidateTransaction() {
var ClockIn = $find("<%=rdtpClockIn.ClientID %>");
var ClockOut = $find("<%=rdtpClockOut.ClientID %>");
var StartBreak = $find("<%=rdtpStartBreak.ClientID %>");
var EndBreak = $find("<%=rdtpEndBreak.ClientID %>");
var ClockOutDate = ClockOut.get_selectedDate();
var ClockInDate = ClockIn.get_selectedDate();
var StartBreakDate = StartBreak.get_selectedDate();
var EndBreakDate = EndBreak.get_selectedDate();
var mClockOut=moment(ClockOutDate),
mClockIn=moment(ClockInDate),
mStartBreak=moment(StartBreakDate),
mEndBreak=moment(EndBreakDate);
//clock in should be befor start break
if(!mClockIn.isBefore(mStartBreak){
//handle invalid date
}
if(!mStartBreak.isBetween(mClockIn, mEndBreak)){
//start break is not valid
}
if(!mEndBreak.isBetween(mStartBreak, mClockOut)){
//end date is invalid
}
/*SIMILLARLY YOU CAN VALIDATE OTHER INTERVALS*/
}
函数ValidateTransaction(){
var ClockIn=$find(“”);
var ClockOut=$find(“”);
var StartBreak=$find(“”);
var EndBreak=$find(“”);
var ClockOutDate=ClockOut.get_selectedDate();
var ClockInDate=ClockIn.get_selectedDate();
var StartBreakDate=StartBreak.get_selectedDate();
var EndBreakDate=EndBreak.get_selectedDate();
var mClockOut=力矩(时钟)