Я пытаюсь запретить пользователю вставлять период более 2 часов в форму заявки, это мой код: я написал свой код проверки в поле «Heure_fin», которое является полем времени, которое рассчитывается разница между "Heur_fin" и "heur_debut"
<xp:inputText value="#{document1.Heure_fin}"
id="heur_fin"
style="width:31.0%;font-family:Verdana,sans-serif;height:20px"
disableClientSideValidation="true">
<xp:this.converter>
<xp:convertDateTime type="time"
timeStyle="short">
</xp:convertDateTime>
</xp:this.converter>
<xp:this.validators>
<xp:validateRequired message="required field"></xp:validateRequired>
<xp:validateExpression>
<xp:this.expression><![CDATA[#{javascript:
var dStart:NotesDateTime =session.createDateTime(getComponent("date_debut1").getValue());
var hStart:NotesDateTime =session.createDateTime(getComponent("heur_debut1").getValue());
var dateTimeStart:NotesDateTime=session.createDateTime(dStart.getDateOnly()+" "+hStart.getTimeOnly())
var hEnd:NotesDateTime=session.createDateTime(getComponent("heur_fin").getValue());
var dateTimeEnd:NotesDateTime=session.createDateTime(dStart.getDateOnly()+" "+hEnd.getTimeOnly())
var hours = dateTimeEnd.timeDifferenceDouble(dateTimeStart)
if ((hours/3600)<=2)
{
return true
}else
return false
}]]></xp:this.expression>
</xp:validateExpression>
</xp:this.validators>
<xp:dateTimeHelper id="dateTimeHelper4"></xp:dateTimeHelper>
</xp:inputText>
, но я получаю следующее сообщение об ошибке: Выражение недопустимо. Выражение не вернуло логическое значение.
Я поместил тот же код в вычисляемое поле, и он отлично работает, есть что-то не так, что я пропускаю, я ценю вашу помощь. С уважением,