I'm trying to create a sign up where users can sign up for a 20 minute interview slot. The interviews are weekly on Monday from 9-10 AM and Wednesday from 1-2 PM.
I'm hoping to create a validation where it only allows users to select times from those slots. As a bonus, it would also only show those time slots available in the date/time selector on the form.
I'm thinking to use a Confiform Rule Definition, but am not sure how to isolate the time data from the date-time field.
Hi
At the moment you cannot disable selection in the CalendarView or in the date picker, but you can certainly validate the input
I would go with 2 validation rules with conditions as follows (my field name to capture the datetime is called "dt")
(!dt.formatDate(E):Mon AND !dt.formatDate(E):Wed)
and
((dt.formatDate(E):Mon) AND (dt.formatDate(H):<9 OR dt.formatDate(H):>10)) OR ((dt.formatDate(E):Wed) AND (dt.formatDate(H):<13 OR dt.formatDate(H):>14))
Full configuration of a demo form as a page storage format is below
<ac:structured-macro ac:name="confiform" ac:schema-version="1" ac:macro-id="9a16bc0f-a0e9-4e9e-bb1a-c741407ca2eb"><ac:parameter ac:name="formName">form</ac:parameter><ac:rich-text-body><ac:structured-macro ac:name="confiform-entry-register" ac:schema-version="1" ac:macro-id="7555815c-baa1-471b-8bd3-144682bf1925"><ac:parameter ac:name="type">Embedded</ac:parameter><ac:rich-text-body><p><br /></p></ac:rich-text-body></ac:structured-macro><p><ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="b184f842-20d8-47e2-812d-744d9bb681f5"><ac:parameter ac:name="fieldName">dt</ac:parameter><ac:parameter ac:name="fieldLabel">dt</ac:parameter><ac:parameter ac:name="values">20</ac:parameter><ac:parameter ac:name="type">datetime</ac:parameter></ac:structured-macro></p><p><ac:structured-macro ac:name="confiform-field-definition-rules" ac:schema-version="1" ac:macro-id="6a11334b-6dc3-467f-b1c6-2d466dc50458"><ac:parameter ac:name="condition">(!dt.formatDate(E):Mon AND !dt.formatDate(E):Wed)</ac:parameter><ac:parameter ac:name="fieldName">The interviews are weekly on Monday from 9-10 AM and Wednesday from 1-2 PM.</ac:parameter><ac:parameter ac:name="action">Validation rule</ac:parameter><ac:parameter ac:name="actionFieldName">dt</ac:parameter></ac:structured-macro></p><pre><br /></pre><p><ac:structured-macro ac:name="confiform-field-definition-rules" ac:schema-version="1" ac:macro-id="4852458e-9ab9-413a-8241-1412f6c2d4e8"><ac:parameter ac:name="condition">((dt.formatDate(E):Mon) AND (dt.formatDate(H):<9 OR dt.formatDate(H):>10)) OR ((dt.formatDate(E):Wed) AND (dt.formatDate(H):<13 OR dt.formatDate(H):>14))</ac:parameter><ac:parameter ac:name="fieldName">The interviews are weekly on Monday from 9-10 AM and Wednesday from 1-2 PM.</ac:parameter><ac:parameter ac:name="action">Validation rule</ac:parameter><ac:parameter ac:name="actionFieldName">dt</ac:parameter></ac:structured-macro></p><p><br /></p></ac:rich-text-body></ac:structured-macro><ac:structured-macro ac:name="confiform-table" ac:schema-version="1" ac:macro-id="21934f2b-a290-4bf9-a0b1-449d7a9fcca4"><ac:parameter ac:name="formName">form</ac:parameter><ac:rich-text-body><p><ac:structured-macro ac:name="confiform-field" ac:schema-version="1" ac:macro-id="2f5340bf-cd8d-4daa-95ff-126bf63e3acb"><ac:parameter ac:name="fieldName">dt</ac:parameter></ac:structured-macro></p><p><ac:structured-macro ac:name="confiform-field" ac:schema-version="1" ac:macro-id="23685eaf-3147-4bbe-8638-e16e911a76d3"><ac:parameter ac:name="overrideLabel">day of week</ac:parameter><ac:parameter ac:name="fieldName">dt.formatDate(E)</ac:parameter></ac:structured-macro></p><p><ac:structured-macro ac:name="confiform-field" ac:schema-version="1" ac:macro-id="38bc01d8-20f7-4d32-bfb6-7aca4ac7f494"><ac:parameter ac:name="overrideLabel">hour</ac:parameter><ac:parameter ac:name="fieldName">dt.formatDate(H)</ac:parameter></ac:structured-macro></p></ac:rich-text-body></ac:structured-macro><p><br /></p>
Alex
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.