强制用户输入一年

时间:2016-04-20 21:03:39

标签: forms oracle

我有一个申请表,我在那里放置文本项目,用户手动输入一年,例如:2016年。

我试图强制用户在其格式上正确输入年份,而不是例如字符或数字。 任何方式?

谢谢大家!

2 个答案:

答案 0 :(得分:0)

您可以每年更新表单吗?如果是这样,为了使其普遍适用,您可以转换为int并检查intYear = currYear。我的意思是还有很多其他的修复方法,包括年份> = 2016-然后允许它仍然可以获得9999这样的东西但是你可以做相反的事情。虽然最有效的方法是获得可能提出挑战的计算机年份,但是可以使用更长的一年,并且只对那些年份不正确的人有问题。

答案 1 :(得分:0)

年份应以数字输入。你可以验证它是一个整数,它是< = current year,> = 1993(例如),如下所示:

...  yr = round(yr) and yr between 1993 and extract (year from sysdate)

老实说,我不熟悉Oracle表单;这可能是一个检查,例如,在存储过程中的“if ... then ... else”结构中,如果不满足条件则引发错误。 yr是输入变量的名称。如果用户输入'2015'(使用单引号)而不是2015(作为数字),Oracle可能会将其转换为数字,无声地且无需警告,并且它将通过测试 - 但是您可以安全地假设用户真的打算进入2015年;不会造成伤害。