apex总是执行验证

时间:2013-04-08 18:48:21

标签: oracle oracle11g oracle-apex

是否可以在页面加载时执行验证,无论是提交还是刚刚加载?

我需要为处理页面部分中创建的普通验证和分配给数字字段的最小最大验证实现它。

是否可以实施?

1 个答案:

答案 0 :(得分:1)

确实:进行服务器端验证会抛出错误,但页面已提交,因此更改的值处于会话状态。你可以尝试通过plsql验证来防止这种情况,这会在发生错误时将会话状态值清空,但可能不是最佳的。我认为有些javascript可以解决一些麻烦。

这是一些javascript限制了to和from datepickers中的可选范围。它不允许用户从迄今为止选择更大的内容,反之亦然。它还将项目设置为只读,以便用户必须通过日期选择器进行选择,并且不能手动更改它。

Page> Javascript>功能和全局变量声明

function f_check_date(){
  var lFrom = $("#P6_DATE_FROM").datepicker("getDate"),
      lTo = $("#P6_DATE_TO").datepicker("getDate");

  if(lFrom > lTo || lTo < lFrom){
    //in case it does happen
    $("#P6_DATE_FROM").val('');
    $("#P6_DATE_FROM").val('');
    alert('Please select a valid date range.');
  } else {
    //when a date changes, the other datepicker has to be altered so the
    //range is adjusted
    $("#P6_DATE_FROM").datepicker("option","maxDate",lTo);
    $("#P6_DATE_TO").datepicker("option","minDate",lFrom);
  };
};

动态操作,页面加载,执行javascript

//on load, set the datepicker range in case a date is already present
//when the date changes, call the datecheck function
//and set item to readonly
$("#P6_DATE_FROM")
.datepicker("option","maxDate",$("#P6_DATE_TO").datepicker("getDate"))
.change(f_check_date)
.prop("readonly",true);
$("#P6_DATE_TO")
.datepicker("option","minDate",$("#P6_DATE_FROM").datepicker("getDate"))
.change(f_check_date)
.prop("readonly",true);