Date Validation

3
Hi, I have Start Date and End Date attributes in an entity. I want to check that the Start Date selected is Monday and EndDate selected is a sunday always. Also I want to make sure the combination of Start Date, End Date is unique with in the entity for a particular user. Kindly let me know your ideas for achieving this. Thanks, Vijay
asked
1 answers
3

Here's some java that will return the day of the week from an input date. Create a java action like the one below and pass your date to it, then check the returned string for which day of the week it is.

// This file was generated by Mendix Business Modeler 2.5.
//
// WARNING: Only the following code will be retained when actions are regenerated:
// - the import list
// - the code between BEGIN USER CODE and END USER CODE
// - the code between BEGIN EXTRA CODE and END EXTRA CODE
// Other code you write will be lost the next time you deploy the project.
// Special characters, e.g., é, ö, à, etc. are supported in comments.

package workinghours.actions;

import com.mendix.systemwideinterfaces.core.UserAction;
import java.util.Date;
import java.util.Calendar;

/**
 * 
 */
public class Get_DayOfWeek extends UserAction<string>
{
    private Date InputDate;

    public Get_DayOfWeek(Date InputDate)
    {
        super();
        this.InputDate = InputDate;
    }

    @Override
    public String executeAction() throws Exception
    {
        // BEGIN USER CODE
        Calendar cal = Calendar.getInstance();
        cal.setTime(InputDate);
        int dow = cal.get(Calendar.DAY_OF_WEEK);
        String tmpStr = Integer.toString(dow);

        return tmpStr;

        // END USER CODE
    }

    /**
     * Returns a string representation of this action
     */
    @Override
    public String toString()
    {
        return "Get_DayOfWeek";
    }

    // BEGIN EXTRA CODE
    // END EXTRA CODE
}

As far as the unique requirement is concerned, after validating the start and end dates return the correct numbers, just do a retrieve action to find any existing matching records for that user.

answered