Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages(日期时间戳)验证和;评价顺序_Xpages - Fatal编程技术网

Xpages(日期时间戳)验证和;评价顺序

Xpages(日期时间戳)验证和;评价顺序,xpages,Xpages,我的xpage中有两个日期时间戳editbox,我在第二个日期时间戳(Permenent Fix tartget Date&Time)editbox上编写了一个validateExpression代码,如上所示。此处需要进行验证,以便永久固定目标日期和时间应大于发布日期和时间(dEnd.timeDifference(dStart)>0) *如果发布日期为2012年4月24日上午11:16:51,永久性修复目标日期和时间为2012年4月23日上午11:16:51,则上述代码适用于以下场景。但是,如

我的xpage中有两个日期时间戳editbox,我在第二个日期时间戳(Permenent Fix tartget Date&Time)editbox上编写了一个validateExpression代码,如上所示。此处需要进行验证,以便永久固定目标日期和时间应大于发布日期和时间(dEnd.timeDifference(dStart)>0)

*如果发布日期为2012年4月24日上午11:16:51,永久性修复目标日期和时间为2012年4月23日上午11:16:51,则上述代码适用于以下场景。但是,如果我的永久性修复目标日期和时间介于2012年4月5日至2012年4月12日之间,则它将失败。我认为日期时间格式存在问题,因为永久固定目标日期的提交值如下所示,例如2012-04-12T11:16:45+05:30.

所以,是否有任何解决方案来格式化提交值的日期时间值,以避免上述问题

关于xpages中验证的评估顺序,还有一件事。。作为验证错误消息控件,随机显示顺序不正确的消息

寻找你的积极回应

问候,, 约格什

我们可以单独约会。这样我们就可以轻松处理。 另一个解决方案是,使用通用javascript。将日期拆分为年、月和日。 这样做不是更好的办法,但这也是解决办法


通常,出于安全原因,我们使用SSJS。数据将是保密的。出于其他原因,尝试使用CSJS,您会觉得很酷。

问题已经解决,因为getsubmitted值返回文本。我刚刚将该文本值转换为date,如下所示:var endoldFixDateDt=getComponent(“Label_immediateFixDateDt”).getSubmittedValue();var endFixDateDt=@TextToTime(endoldFixDateDt);var dEndFixDateDt:NotesDateTime=session.createDateTime(endFixDateDt);谢谢你的回复,我试过了,也很有效。你好,约格什
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;
    } 
}
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;
Use NotesDateTime(start.getDateOnly), NotesDateTime(end.getDateOnly)