Date Validation Script Help

Hello
I am creating a travel form on adobe designer 7.0 for employees to fill out before they go on vacation.  So i wrote a script that makes sure the the date entered for DateFrom is >= the current date and the DateTo is >= DateFrom.  I have been told to make the date format MM/DD/YY but for some reason the script only works when the format is MM/DD/YYYY.
Here is my script For DateFrom:
if (Date() < Date2Num($.formattedValue, "MM/DD/YYYY"))
then
xfa.host.setFocus("xfa.form.form1.DateTo")
else
xfa.host.setFocus("xfa.form.form1.DateFrom")
xfa.host.messageBox("Your requested date can NOT come before the current date","Warning.",1)
endif
and the script for DateTo:
if (Date2Num($.formattedValue, "MM/DD/YYYY") >= Date2Num(xfa.form.form1.DateFrom.formattedValue, "MM/DD/YYYY"))
then
xfa.host.setFocus("xfa.form.form1.enterC")
else
xfa.host.messageBox("The 'TO' Date must come after the 'FROM' Date", "TO DATE ERROR")
xfa.host.setFocus("xfa.form.form1.DateTo")
endif
enterC is the next focus object after DateTo
I have tried the obvious by switching the formattedValue to "MM/DD/YY" but with no success.  I have also tried switching the Display Pattern, Validation Pattern, and the Data Pattern to "MM/DD/YY" but nothing seems to work.  Does anyone know how to make this work with MM/DD/YY?
Thanks in advance for any help
Nick

Irrespective of the display pattern/format I would use the following FormCalc code in your situation. Also check the attachment.
'exit' event of the DateFrom:
if (Date() <= Date2Num($.rawValue, "YYYY-MM-DD")) then
//xfa.host.setFocus("xfa.form.form1.DateTo")
var v1
v1=1
else
xfa.host.setFocus("xfa.form.form1.DateFrom")
xfa.host.messageBox("Your requested date can NOT come before the current date","Warning.",1)
endif
'exit' event of the DateTo
if (Date2Num($.rawValue, "YYYY-MM-DD") > Date2Num(xfa.form.form1.DateFrom.rawValue, "YYYY-MM-DD")) then
//xfa.host.setFocus("xfa.form.form1.enterC")
var v1
v1 =1
else
xfa.host.messageBox("The 'TO' Date must come after the 'FROM' Date", "TO DATE ERROR")
xfa.host.setFocus("xfa.form.form1.DateTo")
endif

Similar Messages

  • Combo box with multiple variables pre populating multiple fields and max value validation script help

    I am creating a pdf form that will be used as a calculator, and my javascript knowledge is pretty rudimentary. I can do the simple things, some of what I need to do is over my head.
    1. I believe I need to use a combo box to pre populate certain fields. I have 13 variables in the dropdown to choose from, and whatever the client chooses will pre populate three other fields (and each of the 13 variables will populate those three fields differently). I'm not exactly sure how to go about doing this. Is it custom keystroke script or does it require a document script? Also, I'm guessing that whatever script will be a series of if/then statements, correct?
    2. Once all the fields have been populated (be it pre population or filled in by the customer), I need to calculate the answer which is not my main problem—I already have the proper calculations in place and they work. The problem is that the answer has a maximum value even if the actual value goes over that max number. So, the actual answer is 14 but the max value can only be 12. How do I get the calculation to replace that actual number (14) with the max number (12)? Is that in the validation tab or should that go elsewhere?
    I feel like I know just enough to be dangerous but not terribly effective. Any help is appreciated.  
    Thanks!

    1. There is a tutorial on this here:
    http://acrobatusers.com/tutorials/change_another_field
    2. To set the maximum value to 12, try this as the custom calculation script for the field:
    //Custom calculation script
    //Get value of text field
    var a = this.getField("Text1").value;
    //If it is > 12, then make it 12
    if (a > 12){
    a=12
    event.value = a
    You need to replace "Text1" with the name of the field in your form.

  • Date validation- need help

    Hi, I am trying to validate my date input from the front end which has to be in mm/dd/yyyy format only...I am unsing the code as shown below
    DateFormat dateFormatter = new SimpleDateFormat("mm/dd/yyyy");
    convertedValue = dateFormatter.parse(fieldValue);
    break;     
    but this is not working..any format is being accepted :(

    nn12 wrote:
    I tried this
    class Test1 {
    public static void main(String[] args) {
         Object convertedValue = null;
         DateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy");
              try {
                   convertedValue = dateFormatter.parse("13/12/2008");
                   System.out.println(convertedValue);
              } catch (ParseException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
    But it didnt help :(This works! the Date parsed will be: 12. jan 2009!

  • Validation Script for Dates and General Event Questions

    I have just started using Javascript, and am now using some objects and methods etc. that I did not even know about. It's progressing rather well, now I need to know some Livecycle Designer Basics that I can't seem to answer from my searches.
    Here's what I am trying to do in English:
    I want users to choose a date that they will miss at our Farmers Market. I have the date field on the form - works well.
    I want to validate the entry for:
    The date must be today or in the future
    AND
    The date must be before the closing date
    AND
    The date must be a Saturday
    Here's some script I've written and placed in the Validation Event (I have actually written more for testing out that the results are coming out properly):
    ----- form1.#subform[0].Missdate::validate - (JavaScript, client) ----------------------------------
    var entereddate = this.rawValue;// The date vendor will not attend as entered on the form
    var dentry = new Date(entereddate.slice(0,4),[entereddate.slice(5,7)-1],entereddate.slice(8,10),0,0,0); // month starts at 0!
    var closingdate = "October 04,2008" // closing date of the market
    var today = Date();// today
    (dentry.getDay() = 6);// and attempt to validate that the day = Saturday - nothing happens!
    But now -
    How do I actually validate this - my last statement seems to be ignored. How to I force a 'false' being returned? In Formcalc I simply put a camparison statement here and if it resulted in 'False' validation failed and if it resulted in 'True' it passed - What's the JS equivalent? Or are the variables giving me troubles?
    Maybe I'm putting this in the wrong Event? If so which one should I place it in.
    I want to force the user to enter the correct data - how do I code this - and put in a custom message refering to this. I may even get fancy and ask the user if the next Saturday is what they meant if they enter the incorrect one (this will be a real challenge!)
    I think I'm lacking some basic knowledge here that other posts have assumed. Please refer me to any help pages as well - although I've done extensive searching on this and have not really found a good explanation of Validation - only specific pages that are not basic or general enough for my understanding. Thank!

    In the validation script you have to allow the field's length to be 0, or
    it will not be possible to clear it...

  • Help with a date field script

    Sorry if this is a repeat. I was interrupted and found that my browser had crashed when I came back so I'm not sure if the question got asked.
    I need a script for a date field (mm/dd/yyyy) where the user can only fill in a date that is between 12/31/1899 and the current date (whatever the date when the form is opened). I'm getting better at writing these but I haven't been successful with this one. Any help would be greatly appreciated.
    Thanks!

    I have a feeling I already answered this question some time ago... Anyway, you can use this code as the field's custom validation script:
    var minDate = util.scand("mm/dd/yyyy", "12/31/1899");
    var maxDate = new Date();
    event.rc = true;
    if (event.value) {
        var d = util.scand("mm/dd/yyyy", event.value);
        if (d<minDate || d>maxDate) {
            app.alert("Error! The entered date must be between " + util.printd("mm/dd/yyyy", minDate) + " and " + util.printd("mm/dd/yyyy", maxDate));
            event.rc = false;

  • Need help in date Validation Urgent

    Hi ,
    We need help in Date Validation.
    we have 2 Date fields on the form Start Date, End Date
    The requirement is: End Date (May not be greater than 30 years from the start date).
    I have written following script on End Date Exit event. But the problem is its calculating 30 years from the Current Date not from the Start Date
    var tDate = util.scand("mm/dd/yyyy", new Date());
    var M = tDate.getMonth();
    var D = tDate.getDate();
    var Y = tDate.getFullYear();
    var SRes = util.printd("yyyy-mm-dd", new Date((Y+30), M,D) );
    //app.alert(SRes)if (SRes <= this.rawValue){
    app.alert("May not be greater than 30 years from the start date")
    xfa.host.setFocus(
    this);}
    can someone please help me
    Regards,
    Jay

    Hi,
    You'll need to get javascript date from LCD field, and calculate & compare with the future date in javascript date.
    try following script;
    var sDate = StartDate.rawValue;
    var wkStartDate = util.scand("yyyy-mm-dd", sDate);
    var nYear = wkStartDate.getFullYear();
    var nMonth = wkStartDate.getMonth();
    var nDay = wkStartDate.getDate();
    var wkFutureDate = new Date(nYear  + 30 , nMonth, nDay);
    sDate = EndDate.rawValue;
    var wkEndDate = util.scand("yyyy-mm-dd", sDate);
    if (wkEndDate.getTime() > wkFutureDate.getTime()){
      xfa.host.messageBox("May not be greater than 30 years from the start date");
      xfa.host.setFocus(this);

  • How to validate a date in a validation script

    I have a date field for which I have set a validation pattern using its Object palette i.e. Object > Value tab > Validation Pattern > Validation tab. The validation pattern I have there is simply 'date{YYYY-MMM-DD}' with an error message set in the Validation Pattern Message box.
    How do I perform this same validation using a javascript in the Validation event?
    I'd like to use a script instead so that I can better control when this validation will be performed.
    Thanks!!
    Marc

    Marc:
    If your field has a display picture clause, then you can detect if it formatted correctly by looking at field.formattedValue
    Specifically, if the value cannot be formatted, the formattedValue will be the same as the rawValue (unformatted).
    So a validation script that specifies:
    this.formattedValue !== this.rawValue;
    should detect invalid dates.
    See: http://blogs.adobe.com/formfeed/2011/06/understanding-field-values.html
    good luck
      John

  • Check data valid with Java Script

    Hi, every one,
    I made a jsp program and just to check if the data is valid before submit. My problem is even the data is invalid, it still go to next jsp page and display alert message at the same time. But I think if the data is invalid, we can't go to next jsp page. So, any one can tell me what's wrong with my program.
    Thanks in advance.
    The source code is as follows:
    <HTML><HEAD>
    <TITLE>TEST PROGRAM</TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    function validate(){
         if(document.form1.yourname.value.length < 1){
              alert("please enter your full name");
              return false;
         if(document.form1.address.value.length < 3){
              alert("please enter your address.");
              return false;
         if(document.form1.phone.value.length < 3){
              alert("please enter your phone number");
              return false;
         return true;
    </SCRIPT>
    </HEAD>
    <BODY>
    <H1>FORM EXAMPLE</H1>
    Enter the following information. When you press the Display button,
    the data you entered will be validated, then sent by e-mail.
    <form name="form1" action="a2.jsp" enctype="text/plain" onSubmit="validate();">
    <p>
    <b>Name:</b><input type="text" length="20" name="yourname">
    <p>
    <b>Address:</b>
    <input type="text" length="30" name="address">
    <p>
    <b>Phone:</b><input type="text" length="15" name="phone">
    <p>
    <input type="SUBMIT" value="Submit">
    </FORM>
    </BODY>
    </HTML>

    Hi,
    I have another question. If i have a menu as follows and I just want to check the data valid on the current page. I mean, only value=1, 2,3 is valid, value=0 is invalid. How can I do?
    <td valign="middle" width="63%"> <font face="Arial, Helvetica, sans-serif" size="2">
    <select name="type">
    <option value="0">Please Select One of The Following Reasons</option>
    <option value="1">Exchange</option>
    <option value="2">Refund</option>
    <option value="3">Wrong Product</option>
    </select>
    </font></td>
    </tr>
    Thanks.
    peter

  • Help with date validation on input boxes.

    I need some help with date validation on input boxes.
    What I�m trying to create is a form where a user inputs dates and then the rest of the form calculates the other dates for them.
    i.e. � A user inputs 2 dates (A & B) and then a 3rd date which is 11 weeks before date B is calculated automatically.
    Is this possible and if so how do I do it ???
    Thanks

    Hi,
    to get third date try this:
    java.util.Date bDate = ...;
    Calendar yourCalendar = new GregorianCalendar();
    yourCalendar.setTime(bDate);
    yourCalendar.roll(Calendar.WEEK_OF_YEAR, -11);
    java.util.Date cDate = yourCalendar.getTime();Regards
    Ldinka

  • Reflection errors in Field Data Edit Scripting context(Line Item class)

    Hello Experts,
    I have a script that does some validation in the Field Data Edit Scripting context of the "Line Item" class, and I  have "MATERIAL" as my target. when i try throwing an Application Exception in this context I get a reflection error message box instead of the message I have passed to the Application Exception constructor.
    your help will be greatly appreciated.
    kind regards,

    One thing to be aware of is that no matter how you choose to construct your exception in field, field data edit and collection scripts, the attribute is always set to the be the taget field/collection. Have you noticed that? The script designers made things that way. What's going on here is that the exception raised in the Interprer is caught by the Script Manager and rethrown with the script target as the attribute and your raised exception as the exception.
    One other thing I would point out is that scripts set to execute on the Collection Member Lifecycle event tend to be poor performers.  You can get a faster result if you edit whole collection and chain the errors onto one ChainException. I can only speculate as to why, but I have seen major improvements in complex scripts if I iterate the whole collection, versus implementing a collection memeber lifecycle validate event. This is counter-intuitive, but there it is.
    Finally, exceptions raised in Collection Lifecycle Events that interupt the overall save process in the prescence of parent document Lifecycle Validation events can result in partially saved data. I observed this issue a few years back and it may be resolved now. The only member lifecycle event I use is Created, to lock, default, etc.
    So, for your particular problem, you may want to rethink your strategy and see if you can get things to work for you bypassing that reflection issue. If you still can't raise the exception on MATERIAL, maybe you can raise it on another field, because another advantage of this approach is that you have full control to raise any error on any field on the Line Items.

  • Acrobat 6.0 validation scripts

    Hi
    I am new to scripting and need a little help with validating scripts.
    I use Acrobat Ver 6.0 to create simple editable pdf's.
    Some of the fields I want to set the validation such that they conform to the following:
    Standard text field are set to capitalise
    Postcode field to convert all letters to capitals
    On a seperate point, can someone point me in the direction of having an email button?
    When i have tried submit buttons in the past and saved the pdf; when opened again in pdf reader the security settings prevent the document being edited.

    The custom validate script would look something like:
    // Custom validate script
    event.value = event.value.toUpperCase();
    If you want to captialize as the user enters the text, you can use use the Keystroke event, but the script would be different.
    Note that Acrobat 6 cannot Reader-enable a document so that it can be saved, but it should still be fillable in Reader if it's not. Acrobat 8 was the first version that allow Reader-enabling. If you set up the submit form action so that only the form data is included, as opposed to the entire PDF, it does not need to be Reader-enabled.

  • Date Validation (MM/DD/YYYY)

    Hey,
    I need Date Validation.
    I need to restrict wrong entry of date & previous date also. This can be done either through entry or after clicking on Submit i need to check weather the entered date is valid and it is equal to or after today's date.
    Date Format: MM/DD/YYYY.
    I need this very urgently. Helpful answer is highly rewarded with Points.

    Hi Sankar,
    Try this:
    Go to Object Palette and Binding Tab. Specify Data Patter MM/DD/YYYY (if not found in dropdown you may simply type it)
    Go to Cell Tab and specify Display Pattern = MM/DD/YYYY and Edit Pattern as MM/DD/YYYY
    Now write a script to validate that the entry is correct..
    Select Exit Event.. Language FormCalc
    // to check format
    var v_dt = $.rawValue
    if (v_dt <> "") then
      var v_dtnm = Date2Num(v_dt, "MM/DD/YYYY")
      if (v_dtnm == 0) then
        xfa.host.messageBox("Enter date in MM/DD/YYYY format")
      else //check if date is GE current date
        var v_currdt = Date()
        if (v_currdt > v_dtnm) then
          xfa.host.messageBox("Enter Date Greater tahn or equal to today's date")
        endif
      endif
    endif
    Regards,
    Reema.

  • Urgent--Problem in Date validations in Javascript.

    Hi ,
    I am facing problem in date validation in javascript.The requirement is my PO delivery date should be greater than my Sysdate.For that I wrote Javascript programme as below-
    function sysValidate(item){
                        var itemValue=item;
    // alert(itemValue);
    /* if((itemValue == '')||(itemValue == null))
    return false;
                        var today = new Date();
                        var sysDay = today.getDate();
                        var sysMonth = today.getMonth()+1;
                        var sysYear = today.getFullYear();
                        var fieldArray = itemValue.split("/");
                        var itemDay = parseInt(fieldArray[0]);
                        var itemMonth = parseInt(fieldArray[1]);
                        var itemYear = parseInt(fieldArray[2]);
    if(itemYear > sysYear)
    return false;
                        else{
                             if(itemYear < sysYear)
                                  return true;
                             else{
                                  if(itemMonth > sysMonth)
                                       return false;
                                  else{
                                       if(itemMonth < sysMonth)
                                            return true;
                                       else{
    if(itemDay >=sysDay)
    return false;
                                            else
    return true;
    Now inspit of my PO delivery date greater than sysdate ,while saving record I am getting Alert as Save denied as delivery date prior to sysdate
    The code for alert is as follows-
    if(sysValidate(exdate))
    alert("Save denied as delivery date prior to sysdate");
    bool=false;
    return bool;
    Plz,help.As this problem is occuring on Production Server due to this my suppliers can't save record.
    Vaish...

    hi Vaish,
    here is the code i have modified
    <script>
    function sysValidate(item){
    var itemValue=item;
    var fieldArray = itemValue.split("/");
    var today = new Date();
    var sysdate=new Date(today.getFullYear(),today.getMonth(),today.getDate(),0,0,0);
    var inputdate=new Date(parseInt(fieldArray[2]),parseInt(fieldArray[0])-1,parseInt(fieldArray[1]),0,0,0);
    alert("sysdate "+sysdate);
    alert("inputdate "+inputdate);
    days=Math.round((sysdate.getTime()-inputdate.getTime())/1000/60.0/60.0/24.0);
    if(days<=0)
         return true;
    else
         return false;
    </script>
    call the validate method form here :
    <script>
    if(sysValidate("07/24/2005"))
    alert("Save denied as delivery date prior to sysdate");
    else{
    alert("Saved successfully")
    }

  • Date Validation Error

    I'm currently using the DD-MON-YYYY format for my program. The item is for a Date of Birth, and I'm using a date picker to get the information. The problem I'm running into is that If someone types a date into the box (say 2/2/2009) instead of using the date picker, it is throwing an invalid month error (I'll come back to that part in a minute). My first question is this, is there anyway to set a Date Picker item to not allow people to type into it so that they HAVE to use the selector?
    If that's not possible, then it brings up the other problem that I brought up. The invalid month error. I believe that what's causing the problem is my validation. I'm running a check to make sure that the DAte of Birth does not occur in the future. To do this, I'm running a PL/SQL Returns Boolean script. This script runs, and runs correctly, if the date picker is used to input the date, but if you type in the date using a different format, then it throws the error. The code that I'm using is this:
    DECLARE
    WHO DATE;
    HOW DATE;
    BEGIN
    HOW := SYSDATE;
    WHO := :P3_DATE_OF_BIRTH;
    IF WHO > HOW
    THEN
    RETURN FALSE;
    ELSE
    RETURN TRUE;
    END IF;
    END;
    Any help in pointing out what I'm missing in why the code isn't runnig correctly is more than greatly appreciated. Thanks.
    Josh

    Thanks for all of the input. The way I have the validations setup is that I have three just for the date field. The first checks if it is null or not, the second checks whether it is a valid date (using the option in Apex itself), and the third one checks whether it occurs in the past or not. The thing is that it is hitting the future check and giving me an invalid date error (I tried putting in gggggg as the date, and it somehow got past the valid date validation.) and threw the invalid date error on the future check. I don't know if this changes anything or not, but I'm certainly not giving up yet.

  • The timesheet creation failed, because of problems with the project I server or with data validation

    Hi,
    One of my user is facing issue in creating new time sheet,
    "The time sheet creation failed, because of problems with the project server or with data validations".
    This issue is coming to only few members out of 10000 members.
    Note: For the same user, can able to do in other machines. only the problem in his machine. Have ran the office diagnostics, but still the problem persists.
    Is any add-on's/any settings need to update in IE. Could any one please help me on how to fix this issue?
    Many thanks in advance.

    I would check the compatibility settings in IE etc, or try another browser (chrome, safari etc.)
    Ben Howard [MVP] | web |
    blog | book

Maybe you are looking for