Date picker validation

Hello everyone,
I need help on the following.
i have date picker colum .I want a validation chk so that nobody can enter except MM/DD/YYYY) format and also nobody can cahnge the date

Hello:
Is the intent to prevent the user from entering a date directly into the text field ? If so, add the following to the 'HTML Form Element Attributes' of the Date Picker item
onFocus="alert('You cannot enter data into this field directly');this.blur()"For your validation you could use a simple pl/sql block like
declare
l_date date;
begin
select to_date(:date_picker_item,'MM/DD/YYYY') into l_date from dual;
return true;
exception when others then
return false;
end;Varad

Similar Messages

  • Jquery Date Picker Validation - format issue

    Hi ,
    I am using 2 text items with Jquery dateicker for start date and end date items.
    I have to now write a JS validation to ensure start date <= end date.
    The dateformat of my items are 'd-M-yy' (02-Mar-2010) .....
    When I try to use the Date.parse() function , it gives me an invalid date error....
    If I change the date format to mm/dd/yy (03/02/2010) then there is no problem, I can use Date.parse() and compare the two dates, I get no error . However I need the date format to be : 02-Mar-2010
    Below is a simple version of the JS function Iam using to compare dates and alert error
    function f_validate()
    var a = $v('P1_START_DATE');
    var b = $v('P1_END_DATE');
    var startDate = new Date();
    var endDate = new Date();
    startDate = Date.parse(a);
    endDate = Date.parse(b);
    // if I alert() startDate or endDate it says invalid date
    if (startDate>endDate){
    alert('error');
    else
    doSubmit();
    } Has anybody done a similar validation with Jquery datepickers in the format 'd-M-yy' ?
    Also how Can I use $.datepicker.parseDate function within my Javascript function so that I can convert the dates to the default format and then compare them....
    Appreciate any ideas/pointers
    Thanks,
    Dippy
    Edited by: Dippy on Mar 2, 2010 12:42 AM

    I've used the following without problems:
       var gasDay = $v('P0_GAS_DAY');
       var gasDayDate = new Date();
       gasDayDate = $.datepicker.parseDate('dd-M-yy', gasDay,
          monthNamesShort : ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC']
       );

  • Dynamic Action On Date Picker

    Hi,
    I need help with understanding dynamic actions. I have two date pickers, I want the value of the first date picker to be the minimum date of the second date picker. To achieve this I have a hidden item whose value I want to reflect the selected date in the required format. In the dynamic action on the date picker I have no condition, and the true action is set to execute the following pl/sql code
    :P200220000_Y_MIN_DT := TO_CHAR(TO_DATE(:P200220000_Y_STR, 'DD-MON-YYYY'), 'YYYYMMDDHH24MI');. The items to submit field contains both the first date picker and the hidden item.
    The "P200220000_Y_MIN_DT" is now passed into the minimum date field of the second date picker. The problem is when the date is changed the hidden item does not get the value until the page is refreshed.
    Am I doing something wrong or just have not mastered the use of dynamic action or are my colleagues right use AJX call backs not dynamic actions.
    Thanks
    Aderemi

    Hi Aderemi,
    first of all as already explained, the min/max values are already used on the server side when the necessary code for the date picker is rendered. When you changed the referenced values in the browser, these values will not change the behavior of the client side date picker widget. But when you submit the page, the new min/max values will be used by the date picker validation check on the server.
    To over the client side date picker display issue, you could directly call the date picker JavaScript code and pass in the new min/max values. Have a look at http://jqueryui.com/demos/datepicker/
    So for example you could have a dynamic action of type "Execute JavaScript code" which executes the following Javascript code.
    apex.jQuery('#P200220000_MY_DATE_PICKER').datepicker("option", "minDate", "-1m");I think that should work. Note: I haven't tested if that really works and it's also some kind of unsupported, because it uses the underlaying jQueryUI APIs the APEX date picker is using. This could change in the future and would invalidate your code.
    Regards
    Patrick
    My Blog: http://www.inside-oracle-apex.com
    APEX 4.0 Plug-Ins: http://apex.oracle.com/plugins

  • Using Date Picker on form causes session values to be cleared on validation

    Got a really weird problem on a form (on a report). We have a basic form which has a date picker on. The form fires a number of bog standard validations when the Create button is clicked (values filled in, values are numbers etc).
    When a validation fails, the values inputted by the user are retained. So far so good. However, when the user selects a date, and a validation fails, all the session values are all cleared (not just the date picker) and they have to fill everything in again.
    At first we thought there must be a process resetting the page items - nothing. Also recreated the page from scratch and it still doesn't work. Strangely, the problem goes away if we change the date picker to a text field. Also, if the user doesn't select a date, the other session values are retained.
    Are we doing something daft here or is this a bug?

    Yes - we're using inbuilt validation to ensure it's a valid date. We tried turning this off and it makes no difference, the problem is still there.
    We tried changing the date picker to a text field and using the same validation (i.e. check it's a date) and this works fine. This is why we think it might be a bug.

  • Date Picker Error when not valid date

    I have a field with a date picker. I have an inline validation of type pl/sql error that checks to see that the user actually entered a valid date
    l_date := todate(:P1_MYDATE, '&PICK_DATE_FORMAT_MASK.');
    Works fine, except, next to the field (between the field and the date picker) I get this "junk"
    Unable to cast value "03/35/2004" to date format mask PICK_DATE_USING_FLOW_FORMAT_MASK
    This is pretty ugly, especially as I am already telling them they made a mistake.
    Would you like me to log a bug?
    Also . . . it would be great to have a built in validation for dates. Any thoughts there? Perhaps an enhancement request?
    Thanks,
    a-

    Anton,
    This is definitely pretty ugly and should be handled more gracefully. As it stands now, there is no way to suppress this automatic casting to a date value.
    You can work around it by clearing session state for that item if the validation fails. You could do this in a validation of type Function Returning Boolean with:
    declare
    l_date date;
    begin
    l_date := to_date(:P1_MYDATE,'&PICK_DATE_FORMAT_MASTK.');
    return true;
    exception
    when others then
    :P1_MYDATE := NULL;
    return false;
    end;
    The idea for a built-in validation for dates is a great one. HTML DB has all the information (what type of date picker, any format masks, NLS settings) to determine the validity of a date value.
    Joel

  • Date picker for af:inputDate   is not picking up the correct input date

    view source:
    <af:inputDate value="#{bindings.DateField.attributeValue}" label="#{bindings.DateField.hints.label}"
    required="#{bindings.DateField.hints.mandatory}"
    valueChangeListener="#{pageFlowScope.CollectApplicantInformation.datesItemChanged}"
    columns="#{bindings.DateField.hints.displayWidth}" shortDesc="#{CustomTooltip[DateField]}"
    autoSubmit="true" helpTopicId="AppDt" id="DateField" simple="true">
    <f:validator binding="#{bindings.DateField.validator}"/>
    *<f:converter converterId="CustomConverter"/>*
    </af:inputDate>
    Here I am not using <af:ConvertDateTime> insted using customConverter, so what code changes do I need to make sure the date picker always picks the already existind date in the inputDate rather picking the current date?
    Here is my CustomConverter.java
    CustomConverter.java
    public class CustomConverter extends DateTimeConverter implements ClientConverter, Converter
    public Object getAsObject(FacesContext context, UIComponent component, String value)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType != null && !dataType.equalsIgnoreCase("oracle.jbo.domain.Date") && !dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    String test = null;
    if (context == null || component == null)
    throw new NullPointerException();
    if (value != null)
    // To solve DB transaction dirty issue, Check isEmpty and return null.
    if (value.isEmpty())
    return null;
    // the "value" is stored on the value property of the component.
    // The Unified EL allows us to check the type
    ValueExpression expression = component.getValueExpression("value");
    if (expression != null)
    Class<?> expectedType = expression.getType(context.getELContext());
    if (expectedType != null)
    System.out.println("expectedType Value:::" + expectedType.getName());
    // try to convert the value (Object) to the TYPE of the "value" property
    // of the underlying JSF component
    try
    return TypeFactory.getInstance(expectedType, value);
    catch (DataCreationException e)
    String errorMessage;
    if (expectedType.equals(CustomNumber.class))
    errorMessage = "You can enter only Numbers in this field";
    else
    errorMessage = e.getMessage();
    if (errorMessage != null)
    FacesContext ctx = FacesContext.getCurrentInstance();
    FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Invalid Format" , errorMessage);
    ctx.addMessage(component.getClientId(), fm);
    catch (CustomDomainException e)
    int errorCode = e.getErrorMessageCode();
    String[] errorMessage = e.getErrorMessageParams();
    if (errorCode == 7 && errorMessage != null)
    String msg = "Invalid " + errorMessage[0];
    FacesContext ctx = FacesContext.getCurrentInstance();
    FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Application Error: ", msg);
    ctx.addMessage(component.getClientId(), fm);
    catch (JboException e)
    Throwable cause = e.getCause();
    if (cause == null)
    cause = e;
    test = "not good format";
    throw e;
    return null;
    else
    return value != null? value: null;
    public String getAsString(FacesContext context, UIComponent component, Object value)
    return value != null? value.toString(): null;
    public String getClientLibrarySource(FacesContext context)
    return null;
    @Override
    public Collection<String> getClientImportNames()
    return Collections.emptySet();
    @Override
    public String getClientScript(FacesContext context, UIComponent component)
    String formatMask = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (formatMask != null)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType.equalsIgnoreCase("oracle.jbo.domain.Date") || dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    if (component == null)
    _LOG.severe("The component is null, but it is needed for the client id, so no script written");
    return null;
    // Add a JavaScript Object to store the datefield formats
    // on the client-side. We currently store the format string
    // for each and every field. It'd be more efficient to have
    // an array of formats, then store for each field the
    // index of the format, especially if we could delay outputting
    // these objects to when the <form> closes.
    String clientId = component.getClientId(context);
    if (clientId != null)
    // =-=AEW Only if Javascript...
    Map<String, Object> requestMap = context.getExternalContext().getRequestMap();
    // this fetch could be at the place where we append, but has been
    // moved ahead to optimize use of StringBuilder
    String jsPattern = getJSPattern(context, component);
    String loc = _getLocaleString(context);
    // FIX - figure out size!!!
    // 127 chars for javascript + length of jspattern + locale + 12 chars for
    // tranforming to name in the worst case.
    StringBuilder buff = new StringBuilder(139 + jsPattern.length() + loc.length());
    if (requestMap.get(_PATTERN_WRITTEN_KEY) == null)
    requestMap.put(_PATTERN_WRITTEN_KEY, Boolean.TRUE);
    // only create the _dfs object if it doesn't exist, so we don't
    // wipe out _dfs[xxx] values if we ppr the first date field on a
    // page with multiple date fields.
    buff.append("if(window['_dfs'] == undefined){var _dfs=new Object();}if(window['_dl'] == undefined){var _dl=new Object();}");
    buff.append("_dfs[\"");
    buff.append(clientId);
    buff.append("\"]=");
    buff.append(jsPattern);
    buff.append(";");
    buff.append("_dl[\"");
    buff.append(clientId);
    buff.append("\"]=");
    buff.append(loc);
    buff.append(";");
    return buff.toString();
    else
    LOG.severe("NULLCLINET_ID_NO_SCRIPT_RENDERED");
    return null;
    else
    return null;
    else
    return null;
    private String _getLocaleString(FacesContext context)
    Locale dateTimeConverterLocale = getLocale();
    if (dateTimeConverterLocale != null)
    Locale defaultLocale = RenderingContext.getCurrentInstance().getLocaleContext().getFormattingLocale();
    if (!(dateTimeConverterLocale.equals(defaultLocale)))
    String loc = dateTimeConverterLocale.toString();
    StringBuffer sb = new StringBuffer(2 + loc.length());
    sb.append("'");
    sb.append(loc);
    sb.append("'");
    return (sb.toString());
    return "null";
    @Override
    @Deprecated
    public String getClientConversion(FacesContext context, UIComponent component)
    String formatMask = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (formatMask != null)
    String dataType = (String) resolveExpression("#{bindings." + component.getId() + ".attributeDef.javaType.name}");
    if (dataType.equalsIgnoreCase("oracle.jbo.domain.Date") || dataType.equalsIgnoreCase("oracle.jbo.domain.Timestamp"))
    String jsPattern = getJSPattern(context, component);
    Map<String, String> messages = new HashMap<String, String>();
    if (jsPattern != null)
    Class<?> formatclass = formatMask.getClass();
    System.out.println("FormatClass::" + formatclass);
    System.out.println(" Format Mask : " + formatMask);
    // SimpleDateFormat sdfDestination = new SimpleDateFormat(formatMask);
    String pattern = formatMask; //getPattern();
    if (pattern == null)
    pattern = getSecondaryPattern();
    String key = getViolationMessageKey(pattern);
    Object[] params = new Object[]
    { "{0}", "{1}", "{2}" };
    Object msgPattern = getMessagePattern(context, key, params, component);
    //if hintFormat is null, no custom hint for date, time or both has been specified
    String hintFormat = _getHint();
    FacesMessage msg = null;
    String detailMessage = null;
    if (msgPattern != null)
    msg = MessageFactory.getMessage(context, key, msgPattern, params, component);
    detailMessage = XhtmlLafUtils.escapeJS(msg.getDetail());
    Locale loc = context.getViewRoot().getLocale();
    SimpleDateFormat formatter = new SimpleDateFormat(pattern, loc);
    java.lang.Object obj = resolveExpression("#{bindings." + component.getId() + ".attributeValue}");
    String databaseDate=null;
    if(obj!=null)
    databaseDate = obj.toString();
    DateFormat df = new SimpleDateFormat(pattern,loc);
    System.out.println("DateComponent input value :::::::::::::::::::::::::"+databaseDate);
    Date today;
    try {
    // System.out.println("Before Conversion::::::::::::"+df.parse(databaseDate).toString());
    if(databaseDate!=null)
    today = df.parse(databaseDate);
    else
    today = new Date();
    System.out.println("After Conversion Date :::::::::::::::::::::::::::::"+today.toString());
    //Date today = new Date();
    String dt = formatter.format(today);
    String exampleString = dt;
    String escapedType = XhtmlLafUtils.escapeJS(getType().toUpperCase());
    StringBuilder outBuffer = new StringBuilder();
    outBuffer.append("new TrDateTimeConverter(");
    outBuffer.append(jsPattern);
    // loc = getLocale();
    if (loc != null)
    outBuffer.append(",'");
    outBuffer.append(loc.toString());
    outBuffer.append("','");
    else
    outBuffer.append(",null,'");
    outBuffer.append(exampleString);
    outBuffer.append("','");
    outBuffer.append(escapedType);
    outBuffer.append("'");
    if (msgPattern != null || hintFormat != null)
    messages.put("detail", detailMessage);
    messages.put("hint", hintFormat);
    outBuffer.append(',');
    // try
    // JsonUtils.writeMap(outBuffer, messages, false);
    // catch (IOException e)
    // outBuffer.append("null");
    outBuffer.append(')'); // 2
    return outBuffer.toString();
    catch(ParseException e)
    System.out.println("Parse Exception :::::::::::::::::::::"+e);
    return null;
    else
    // no pattern-matchable date
    return null;
    else
    return null;
    else
    return null;
    protected String getJSPattern(FacesContext context, UIComponent component)
    String jsPattern = null;
    String datePattern = (String) resolveExpression("#{bindings." + component.getId() + ".format}");
    if (datePattern != null)
    String secondaryPattern = getSecondaryPattern();
    if (datePattern != _NO_JS_PATTERN)
    int length = datePattern.length() * 2 + 2;
    if (secondaryPattern != null)
    length = length + 3 + secondaryPattern.length() * 2;
    StringBuilder outBuffer = new StringBuilder(length);
    jsPattern = _getEscapedPattern(outBuffer, datePattern, secondaryPattern);
    else
    jsPattern = datePattern;
    return jsPattern;
    private static void _escapePattern(StringBuilder buffer, String pattern)
    buffer.append('\'');
    XhtmlUtils.escapeJS(buffer, pattern);
    buffer.append('\'');
    private static String _getEscapedPattern(StringBuilder buffer, String pattern, String secondaryPattern)
    if (secondaryPattern != null)
    buffer.append('[');
    _escapePattern(buffer, pattern);
    if (secondaryPattern != null)
    buffer.append(",'");
    XhtmlUtils.escapeJS(buffer, secondaryPattern);
    buffer.append("']");
    return buffer.toString();
    private String _getHint()
    String type = getType();
    if (type.equals("date"))
    return getHintDate();
    else if (type.equals("both"))
    return getHintBoth();
    else
    return getHintTime();
    public static Object resolveExpression(String pExpression)
    FacesContext facesContext = FacesContext.getCurrentInstance();
    Application app = facesContext.getApplication();
    ExpressionFactory elFactory = app.getExpressionFactory();
    ELContext elContext = facesContext.getELContext();
    ValueExpression valueExp = null;
    valueExp = elFactory.createValueExpression(elContext, pExpression, Object.class);
    return valueExp.getValue(elContext);
    private static final String _NO_JS_PATTERN = new String();
    private static final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(DateTimeConverter.class);
    // RenderingContext key indicating the _dateFormat object
    // has been created
    private static final String _PATTERN_WRITTEN_KEY = "org.apache.myfaces.trinidadinternal.convert.DateTimeConverter._PATTERN_WRITTEN";
    *Problem is if any input date componet is displaying other than current date then the date picker is always picking the current date rather existing date*
    Please suggest me where to make changes?
    Edited by: 858782 on Oct 3, 2011 7:43 AM
    Edited by: 858782 on Oct 3, 2011 11:44 PM

    I need custom date foramts to be applied for different inputDates which are not defined in <af:convertDateTime>
    Thanks
    Edited by: 858782 on Oct 13, 2011 4:59 PM

  • Date picker,first day/last day of month

    Hi All
    i have two items on my page
    :p80_from_date
    :p80_last_date
    both of them are defined as date picker (dd/mm/yyyy)
    i want that the form_date will contain allways the first day of the month the the user is picking
    example suppose that the user picks in the :p80_from_date : '20/07/2009'
    then the date suppose to be '01/07/2009'
    if the user picking :p80_last_date '01/08/2009' the date suppose to be '31/08/2009' .
    i've tried to do it with computation with no success.
    i rather that after the user is picking the date he will see that the default is always the first date.
    how shall i do it ?
    thanks in advanced
    Naama

    Hello Naama,
    Now you are actually raising a new issue of date validation, which should pertains to every date field on your application.
    >> the problem is that the function is not returning Boolean
    It seems to me that you are mixing Computations and Validations. The first can set the value of an item; the second can raise an application error and include options of using a function that returns Boolean or an error text.
    The problem in your specific case is that you need to validate the date prior to using it in your Computation, however the APEX engine fires Computations before Validations. The solution might be to use a PL/SQL process with a firing point of “On Submit – Before Computations and Validations”.
    As I mentioned before, date validation should apply to all your application date items. Personally, I’m using a client side validation, fired by an onblur event, to give the user a “fair warning”. The following code matches your date format, and I’m using it in a Right-To-Left application (In the example it includes Hebrew error messages that can be changed to any text in any language you need). This function can deal with a fully formatted date string (e.g. 31/01/2010) or a string of numbers representing the date (e.g. 31012010).
    function dateValidation(pThis){
      var monthDays = [00,31,28,31,30,31,30,31,31,30,31,30,31];
      var date_len = pThis.value.length;
      if (date_len == 0){  // Date field is empty
        return true;       // or an error alert if date is mandatory
      if (date_len == 10) {
        pThis.value = pThis.value.substr(0,2)+pThis.value.substr(3,2)+pThis.value.substr(6,4);
      else {
        if (date_len != 8) {
          alert('DD/MM/YYYY התאריך חייב לכלול 8 ספרות במבנה');
          pThis.focus();
          return false;
      var DD = parseInt(trimLead0(pThis.value.substr(0,2)));
      if (DD < 1) {
        alert('מספר הימים אינו חוקי');
        pThis.focus();
        return false;
      var YYYY = parseInt(pThis.value.substr(4,4));
      if (YYYY < 1900 || YYYY > 2050){
         alert('טווח השנים המוכר 1900-2050');
         pThis.focus();
         return false;
      var MM = parseInt(trimLead0(pThis.value.substr(2,2)));
      // Checking for leap year if MM=02
      if (MM == 2) {
        var leap = (((YYYY % 4 == 0) && ( (!(YYYY % 100 == 0)) || (YYYY % 400 == 0))) ?1:0);
        if ((leap && DD > 29) || (!leap && DD > 28)) {
          alert('מספר הימים בפברואר אינו חוקי');
          pThis.focus();
          return false;
      else {
        if (DD > monthDays[MM]) {
          alert('מספר הימים בחודש זה אינו חוקי');
          pThis.focus();
          return false;
      if (DD < 10) { DD = '0'+DD; }
      if (MM < 10) { MM = '0'+MM; }
      pThis.value = DD+'/'+MM+'/'+YYYY;
      return true;
    function trimLead0(str) {
       return str.replace(/^0*/g,"");
    }Best Practice stipulates that client side validation is not enough and you should use server side validations. In your specific case, if an end user tricked the client side validation he/she deserves to receive a system error message. Still, if you want to prevent it, you need to add some PL/SQL code that validates the input date before you use it in your Computation.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Inserting a Value into otherTable using an App. Proc. from a Date Picker

    I'm trying to call an Application Process that will insert an Attribute of a Row, into another table, after selecting a date from a Date Picker cell.
    I don't know why this shouldn't be possible. I think I've got all of my "Ducks in a Row", so to speak,
    but the Value that is being inserted into the other table is this:.. [object HTMLTableCellElement]
    (Ultimately, I'd like my Application Process to include Page element values with the insert as well, but I'm trying to handle one problem at a time)
    Here's a list of all the steps I've covered:
    1. I've Created an Application Process, (popDevices). The Process Point is "On-Demand". The Type is "PL/SQL Anonymous Block".
    The Process is defined as such:
    BEGIN
    Insert into P_DEVICES
    NAME,
    IP_ADDRESS,
    MODEL
    ) values
    'Unassigned',
    'Unassigned',
    :P153_MODEL
    COMMIT;
    END;
    2. I've Included the Javascript in the Page HTML Header.
    The Javascript is written as such: (minus the tags)
    function popDevices(PART_NO)
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=popDevices',0);
    get.add('P153_MODEL',PART_NO);
    gReturn = get.get();
    get = null;
    3. I've included the following in the "Element Attributes" field of the Date-Picker Item (Date_Delivered).
    The Region Type is "SQL Query (Updatable Report)"
    onChange="javascript:popDevices(PART_NO);"
    THE RESULTS
    A. A row does get inserted into the other (P_Devices) table,
    But the value of the Attribute from the Page Region is not valid.
    The Inserted value is this: [object HTMLTableCellElement]
    B. I have tried Every conceivable combination of characters in the "Element Attributes" field, such as:
    ...(PART_NO), (#PART_NO#), (||PART_NO||), (+PART_NO+)
    C. The Javascript in the Page HTML Header appears to be correct, since I have written it this same way for other applications without any problems.
    D. If this simply cannot be done by referencing the "onChange" Javascript from the "Element Attributes" field,
    Then can you help me to write the code into the Select statement of the region.
    Thanks for any help you can give me.
    -Gary

    This may not be the most direct approach to the solution. But, none the less, it is a solution.
    For those other novices, like myself, I hope this can be useful at some point in your development:
    MY DESIRED RESULT:
    A. To Insert into another tablle values derived from both; Page Item (i.e. P153_x) and Attributes of a Row in an Updatable Report from which I have selected the Date-Picker.
    B. I want the insert to occur automatically after the user Selects the date from the Date-Picker.
    SOLUTIONS:
    1. I usea Javascript prompt window to prompt for information and store the information in Pre-Created Page Items.
    This is the Javascript as I've entered it into the Page HTML Header region: (Minus the Tags)
    function received_javaprompt () {
    var Serial_Number = prompt("Enter the Serial Number");
    var Bldg_Id = prompt("Enter the Bldg_Id");
    var Clst_Id = prompt("Enter the Clst_Id");
    $x('P153_SERIAL_NO').value = Serial_Number;
    $x('P153_BLDG_ID').value = Bldg_Id;
    $x('P153_CLST_ID').value = Clst_Id;
    2. I needed to identify the (Manufacturer and Part_No) Column Attribute in the Row from which I selected the Date-Picker.
    A. To do this, I enumerated the Columns in the order they were listed in the Select Statement of the region (Click on the Region Definition Tab).
    B. Then (Click on the Report Attributes Tab). Count, In the numerical order which these columns are selected, ONLY the columns that are Editable.
    C. When I counted down as far as the Column I wanted to capture the value of, Then I made a mental note of that number and used it in the following (2) Javascripts (findMaker and findModel).
    3. findMaker (Minus the tags)
    function findMaker (pThis) {
    var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
    var Maker = html_GetElement('f15_'+vRow).value
    $x('P153_MAKER').value = Maker;
    4. findModel (Minus the tags)
    function findModel (pThis) {
    var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
    var Model = html_GetElement('f16_'+vRow).value
    $x('P153_MODEL').value = Model;
    5. I added one more Javascript, to the Page HTML Header, that references the Application Process which will Insert the values into the "Other" table:
    function popDevices(P153_SERIAL_NO,P153_BLDG_ID,P153_CLST_ID,P153_MAKER,P153_MODEL)
    var get = new htmldb_Get(null,$x('pFlowId').value,'APPLICATION_PROCESS=popDevices',0);
    get.add('P153_SERIAL_NO',P153_SERIAL_NO);
    get.add('P153_BLDG_ID',P153_BLDG_ID);
    get.add('P153_CLST_ID',P153_CLST_ID);
    get.add('P153_MAKER',P153_MAKER);
    get.add('P153_MODEL',P153_MODEL);
    gReturn = get.get();
    get = null;
    6. I added the "onChange" process to the Element Attributes field of the Table item which utilizes the Date-Picker:
    A. Click on the Report Attributes Tab of the Region.
    B. Click on the Edit icon of the column which utilized the Date-Picker
    C. I added this "onChange" reference to the Element Attributes field, which is found in the Tabular Form section.
    onChange="javascript:received_javaprompt();findModel(this);findMaker(this);popDevices((P153_SERIAL_NO).value,(P153_BLDG_ID).value,(P153_CLST_ID).value,(P153_MAKER).value,(P153_MODEL).value);"
    7. The Application Process which inserts the collected data into the table is as follows:
    (Name= popDevices: Process Point= On-Demand: Type= PL/SQL Anonymous Block)
    BEGIN
    Insert into P_DEVICES
    BLDG_ID,
    CLST_ID,
    NAME,
    IP_ADDRESS,
    SERIAL_NO,
    MAKER,
    MODEL
    ) values
    :P153_BLDG_ID,
    :P153_CLST_ID,
    'Unassigned',
    'Unassigned',
    :P153_SERIAL_NO,
    :P153_MAKER,
    :P153_MODEL
    COMMIT;
    END;
    Well, I hope this may help someone else like me.
    I usually arrive at my solutions by getting help here on the Discussion Forum and also Google. Google inevitably points me to a previous Apex Discussion Forum session.
    Edited by: garyNboston on Mar 15, 2010 10:55 AM

  • Date picker in OBIEE

    I would like to use Date Picker on the OBIEE Dashboard. Is there any standard control/mechanism that I can put to use ?

    hi....can you explain it a little more???
    i created 2 dashboards prompts. from 2 dummy collums
    i set CAST ( NULL AS DATE ) and CAST ( '11/12/2008' AS DATE ),i choose calendar and i set 2 presentation variables,start and end
    in my reports i creates a single collumn(measure column from fact table) QTY where i want to se the quantity of the specified period of time.
    i set in the function...
    FILTER(fact.QTY USING (CALENDAR_DIM.CALENDAR_DATE BETWEEN '@{start}{04/01/2007}' AND '@{end}{06/01/2007}'))
    (i did that because i want to have 2 colums of qty in order to represent 2 qts of 2 different periods.
    i made a simple test only with one period but the result was...
    Κατάσταση: HY000. Κωδικός: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 17001] Oracle Error code: 1843, message: ORA-01843: not a valid month at OCI call OCIStmtExecute: select T622.KATHGORIA_ID_DESC as c1, sum(T525.QTY) as c2, T409.CALENDAR_DATE as c3 from DWADM.PRODUCT_DIM T622, DWADM.CALENDAR_DIM T409, DWADM.FACT2007 T525 where ( T409.CALENDAR_DATE = T525.CAL_DATE and T525.PRD_SK = T622.PRODUCT_SK and T409.CALENDAR_DATE between '04/01/2007' and '06/01/2007' ) group by T409.CALENDAR_DATE, T622.KATHGORIA_ID_DESC order by c1, c3. [nQSError: 17011] SQL statement execution failed. (HY000)
    any help???
    i manage to do my scenario with dropdown list but it is not what i want.
    the one tha o notice is that the field from the calendar is acceptin the dates onlu in format of yyyy-MM-dd.
    tnks

  • How to validate a date in date picker

    Dear All,
    ADF BC and ADF faces page, in the page there is a date picker field where i need to apply validation(i.e. select date is greater than the sysdate), i added a validation in the entity object on the corresponding field, using a compare validator, operator: Less Than, compare with: Query Result, sql statement: select sysdate from dual
    when the page is commited, i got the following errors, anybody any idea? thank you!
    07/09/03 18:18:32 [584] oracle.jbo.common.JboAssert: (Assertion Failed)
         at oracle.jbo.common.Diagnostic.ASSERT(Diagnostic.java:303)
         at oracle.jbo.common.Diagnostic.ASSERT(Diagnostic.java:338)
         at oracle.jbo.server.util.Variant.compareTo(Variant.java:1225)
         at oracle.jbo.server.rules.JboCompareValidator.validateValue(JboCompareValidator.java:171)
    07/09/03 18:18:32 [585] *** Using bean introspection to lookup value :currentRowIndexInRange
    03-sep 18:18:32 DEBUG (JhsPageLifecycle) -executing processModelUpdaters
    03-sep 18:18:32 DEBUG (JhsCollectionModel) -DocumentsCollectionModel: Executing processNewRows
    03-sep 18:18:32 DEBUG (JhsCollectionModel) -DocumentsCollectionModel: DocumentsTable new row 0 ignored, no attributes updated.
    03-sep 18:18:32 DEBUG (JhsPageLifecycle) -executing validateModelUpdates
    03-sep 18:18:32 DEBUG (JhsPageLifecycle) -executing onCommit
    07/09/03 18:18:32 [586] DCBindingContainer.reportException :oracle.jbo.TxnValException
    07/09/03 18:18:32 [587] oracle.jbo.TxnValException: JBO-27023: Valideren van alle rijen in een transactie is mislukt.
         at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4051)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1921)
    ## Detail 0 ##
    oracle.jbo.RowValException: JBO-27024: Valideren van rij met sleutel oracle.jbo.Key[382 ] van type Benchmarks is mislukt.
         at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:1597)
         at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:4031)
    ## Detail 0 ##
    oracle.jbo.AttrValException: JBO-27025: Valideren van attribuut EstimatedComplDate met waarde 2007-08-11 is mislukt.
         at oracle.jbo.server.AttributeDefImpl.validate(AttributeDefImpl.java:1954)
         at oracle.jbo.server.AttributeDefImpl.set(AttributeDefImpl.java:1866)
    P.S. some of the message are displayed in Dutch
    Message was edited by:
    Jerry Yang

    But first setLenient(false), because to my mind
    DateFormat it apt to be far too lenient
    tending to accept things like 30 Feb.A web banking application had setLenient(false). Customers would call support because they got an error message when they tried to get transaction statements for the whole month by entering April 1 - April 31.
    We changed to setLenient(true). Consider which leniency mode is right for you. And write better error messages than what we had...
    Maybe: if non-lenient fails, parse with lenient; if that succeeds, give a specific error message explaining the situation (or execute with the lenient date, and present results with a warning message "we made a guess at what you meant, check results").

  • How to determine if the Date Picker was selected?

    I have a tabular form with columns of date type that are displayed as APEX Date Picker.
    A user can enter the date two different ways; 1. Enter date by clicking in the field and type it manually. 2. Click on the calendar icon next to the field and select a date.
    The entered dates are validated, and if invalid, should be replaced with the existing date.
    This works fine for case 1 when a user enters the date manually using the following code in the Element Attributes.
      onFocus="savedData=this.value;" onChange="if( isDate3(this.value)==false){this.value=savedData}" The existing data is saved in the savedData field using the onFocus event and then used to replace the this.value if the validation fails.
    But, for case 2, I get an error indicating that the savedData is undefined, which is true. This is because the user does not click into the field and triggering the onFocus event. Instead, the user clicks on the calendar icon next to the field that opens a calendar pop-up. For this case, if a user selects a date in the future, an alert is raised, and the date needs to be replaced with the existing date.
    So the question is, is there a way to trigger an event to save the existing value if the user clicks the calendar icon next to the date field to populate the date?
    Thanks,
    DPATEL
    Edited by: user4115675 on Feb 16, 2010 10:15 AM

    Does anyone out there has any idea on how to do this? Any help would be greatly appreciated.
    Thanks,
    DPatel.

  • Help on Date Picker

    Hi All,
    Is there any date pciket UI element available . I am not able to see any in type of UI elements avaiable in my NWDS.
    Thanks
    Supriya.

    Hi Friend,
    Binding the input field to an attribute of date type will automatically bring in the date picker and the standard validations for that. So, you needn't worry about it. In case you need to have your own date format and your custom validations over it, then I am afraid you would have to bind this input field with a string type attribute and have a dateNavigator UI element as popup on click of a button next to input field to browse for date, but it would unnecessarily be an overhead on performance of the application.
    Regards,
    Tushar S

  • Date picker in a popup window

    Hi all,
    There are 2 pages, page 1 contains a button, when user click on it, a new window will popup showing page 2 which is a entry form has a date picker item.
    The javascript behind the button in page 1 is like: (in target URL field.)
    javascript:popupURL('f?p=101:2:&SESSION.');
    It works fine except the date picker window wouldn't popup again in the second page. If I run the 2nd page individually it works well, it doesn't work only if I run it in a popup window.
    Is this a bug or something? How can we fix it.
    Many thanks!
    Pete

    Hello Pete,
    >> It works fine except the date picker window wouldn't popup again in the second page. If I run the 2nd page individually it works well, it doesn't work only if I run it in a popup window.
    You are using the ‘popupURL’ function, which uses a hard coded value – WinLov – for the ‘name’ parameter. That could be a problem in a recursive call.
    Patrick solution is of course valid, but if you want to use a popup window format, try using the ‘popUp2’ function. The function generates a “random” name, so the problem should be solved.
    Regards,
    Arie.

  • Date Picker in a Tabular Form

    Is there a way to use the minimum and maximum dates in date picker in a tabular form? It does not appear that this is available in a tabular form and I am finding it very difficult to come up with a way to limit the date selection to a particular month when using the tabular form. Any suggestions would be appreciated.

    I hadn't accounted for the addRow, and datepickers on newly added rows are indeed not restricted. Datepickers on existing rows are still being restricted, but since you had no rows there anymore you could only add rows.
    Could it be that in your local solution you have no rows too, and thus can only add rows, which has no date restriction?
    To restrict the datepicker for new rows I changed the "Add Row" button's URL. In 4.2 I'd set it to be defined by a dynamic action, but since you're on 4.0 I set the URL to:
    javascript:myAddRow();In the page edit i added this to "Javascript > Function and Global Variable Declaration"
    function myAddRow(){
    apex.widget.tabular.addRow();
    $("td[headers='DETAIL_DATE'] input:last")
    .datepicker("option","changeMonth",false)
    .datepicker("option","minDate",$v("P2_MASTER_MONTH_MINDATE"))
    .datepicker("option","maxDate",$v("P2_MASTER_MONTH_MAXDATE"));
    };This will first add a new row, and then the restriction will be applied to the last input item matching the selector. Indeed, on your local instance you will have to change the "apex.widget.tabular.addRow()" to just "addRow();", since the apex.widget.tabular namespace is new in 4.2.
    Some more notes of importance:
    - the column header: in the demo your column is "DETAIL_DATE". If this column is called differently in your local solution, you will need to change the jQuery selector to reflect this!
    - the P2_MASTER_MONTH_MIN/MAXDATE columns do some date arithmetic. It is important to take a look at their value if the datepicker is not being restricted, and also what language your application runs in. The default english application will set a date format for the jQuery datepicker to be dd-M-y, and it will take '01-JAN-2013' as a valid value. If your field however would contain something like '01/01/2013' it would not work. So for safety, take a look at the values of these items!

  • Date Picker not working in Crystal XI Developer

    Post Author: laksh_hari
    CA Forum: Crystal Reports
    Hi,
    I recently purchased Crystal Reports XI and am running it on Windows Vista.. The Date picker control does not popup for any date parameter fields.. Can you please let me know why it does that and how I can rectify that?

    hi,
    I'm able to do this as I chose the validation type JAVA.
    Rgds,
    Shahnawaz
    Edited by: 907938 on Feb 24, 2012 5:22 AM

Maybe you are looking for

  • Email link to a pdf with text anchor on web site

    I'm trying to create an email with a link to a web site's pdf file with a text anchor. I want the link to take the reader not just to the pdf file but to a certain location in the pdf file. I'm creating the pdf with the text anchor in Indesign 4. It'

  • How do I delete one of my episodes on my podcast?

    I use "feedburner" to submit my feed (.mp3's) to iTunes, and recently it unfortunately loaded a ".pdf" (that was in my blog) that I did not want to be uplodaded to iTunes. How do I go about removing it? I'm not sure if I can go somewhere into iTunes

  • Does smb in 10.8 server support NTLMv2?

    Does smb in 10.8 server support NTLMv2? If so, how do I enable it? Smb worked just fine in 10.6, but after upgrading to 10.8 its broken when windows machines try and connect. It works if I disable the requirement for NTLMv2 on my windows 7 clients, b

  • Windows 7 64 bit, CP1525NW wireless install,laptop sleep mode, now no wireless printing

    I installed my HP CP1525 wireless printer  through  my Windows 7 64 bit computer to run wirelessly on my home network and it seemed to print fine wirelessly for mine and my wife's laptops and my iPad2. I put my computer into sleep mode and now today

  • Merge Cells in Webi

    Dear experts, I have a cross tab report with the following colums (two lines in the header): Country | 2008 | 2010 | 2010 | 2010 | Jan Feb Mar Is it possible to have the cells with year "2010" merged having: Country | 2008 |            2010