if((!submittedBy( 'button1' )) && (!submittedBy( 'button2' )
{
return true;
}
else
{
var IsL2UserTxt = sessionScope.get("IsL2User");
if(IsL2UserTxt == "Yes")
{
//Bring the issue Date&Time
var start = getComponent("label_IssueDateDt").getValue();
//Bring the Permenent Fix Target Date&Time
var end = this.getSubmittedValue();
var dStart:NotesDateTime = session.createDateTime(start);
var dEnd:NotesDateTime = session.createDateTime(end);
if (!start)
{
return false;
}
else if (!end)
{
return false;
}
else
{
print("Start: "+start+", End: "+end+",DStart: "+dStart+", DEnd: "+dEnd+", Time Diff: "+dEnd.timeDifference(dStart));
return (dEnd.timeDifference(dStart) > 0 )
}
}
else
{
return true;
}
}
我的xpage中有两个Date Timestamp编辑框,我在第二个日期时间戳(Permenent Fix tartget Date& Time)编辑框中编写了一个validateExpression代码。此处需要进行验证,以便永久修复目标日期和时间应大于发布日期和时间(dEnd.timeDifference(dStart)> 0)。
* 以上代码适用于以下情况:如果发布日期是24/04/2012 11:16:51 AM并且永久修复目标日期&时间23/04/2012 11:16:上午51点。但是如果我的永久性修复目标日期和时间是在2012年4月4日到2012年4月12日之间,它就会失败。我认为日期时间格式存在问题,因为永久修复目标日期的提交值就像这样,例如2012-04-12T11:16:45 + 05:30。 *
那么有没有解决方案来格式化提交值的日期时间值以避免上述问题。
关于xpages中验证评估顺序的另一件事。作为验证错误消息控件,显示消息随机排列不正确。
寻找你的积极回应。
此致 Yogesh
答案 0 :(得分:0)
var doValidate = (submittedBy( 'button1' ) || submittedBy( 'button2' )) && (sessionScope.get("IsL2User") == "Yes");
if (!doValidate) return true;
var dtIssue = getComponent("label_IssueDateDt").getSubmittedValue();
var dtPermFix = this.getSubmittedValue();
if ( (dtIssue == null) || (dtPermFix == null) ) return false;
var difference = I18n.parseDateXMI(dtPermFix) - I18n.parseDateXMI(dtIssue);
return difference > 0;
答案 1 :(得分:0)
Use NotesDateTime(start.getDateOnly), NotesDateTime(end.getDateOnly)
我们可以单独获得日期。通过这种方式我们可以轻松处理。 其他解决方案是,常见的JavaScript。将日期分为年,月和日。 通过这种方式不是更好的方式,但这也是解决方案。
通常,出于安全原因,我们使用SSJS。数据将保密。出于其他原因,尝试使用CSJS,你会觉得很酷。