【发布时间】:2015-09-19 11:44:44
【问题描述】:
我正在 oracle apex 中构建表格形式,我需要验证 开始日期 和 结束日期。
开始日期和结束日期都有表格形式的日期选择器字段,开始日期不应接受小于 45 的日期从系统日期(今天的日期)开始的天数,并且不应大于系统日期。
即使我将开始日期指定为今天的日期,我也会收到错误消息。当 start_date 小于(今天的日期 - 45 天)时,我需要警报
我正在使用 ORACLE APEX 5.0 版本
在页面上,我在“函数和全局变量声明”部分定义了这个函数:
function f_validate_sd(pThis) {
var row_id = pThis.id.substr(4);
var start_date = $('#f10_'+row_id).val();
//var end_date = $('#f11_'+row_id).val();
var currentDate = new Date();
var dy = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var sd = ( dy + "-" + month + "-" + year);
var subdate = new Date(sd);
var numberOfDaysToAdd = 45;
subdate.setDate(subdate.getDate() - numberOfDaysToAdd );
var dd = subdate.getDate();
var mm = subdate.getMonth() + 1;
var yy = subdate.getFullYear();
var sub = ( dd + "-" + mm + "-" + yy );
alert(start_date);
alert(sub);
alert(start_date - sub );
alert(sd);
if(start_date < sub ) {
alert("START DATE should be within 45 days from todays date");
$('#f10_'+row_id).val(" ");}
}
在表格形式中,我通过将其添加到“START_DATE”列的“自定义属性”字段来调用此函数:
onchange="javascript:f_validate_sd(this);"
当我运行我的页面并更改日期时,消息“NaN”作为第三个警报。
我在这里设置了一个示例应用程序: DEMO
您可以使用以下凭据在 apex.oracle.com 上进行检查:
工作区:APEX_CHECKBOX
用户名:appuser
密码:演示
【问题讨论】:
-
这很好,但您只是要求一个直接的解决方案。所以你真的尝试过什么吗?我的意思是,您要求进行直接验证。那么您是否尝试过验证?真正的问题是什么?
-
@Tom,我已经在工作区中添加了验证代码。即使我将开始日期指定为今天的日期,我也会收到错误消息。我想在 start_date 小于(今天的日期 - 45 天)时发出警报
-
好的,很好。但是你真的应该把这类信息放在你的问题中。搜索 Web 和站点的人不会知道您的问题是什么,不是每个人都会链接,并且您的工作区或应用程序将来可能会变得不可用。因此,说明问题以及遇到的问题对 SO 很重要。否则您的问题将不会得到正确的关注,甚至会被标记为关闭。
-
那会是哪个错误?
标签: javascript oracle11g oracle-apex