2

I've looked for tutorials about AutoForm's custom field templates but I'm not sure where I'm going wrong with mine. If anyone has any suggestions it would be greatly appreciated.

My Schema: One field is an Array of Objects.

guests: {
    type: Array,
    minCount: 1,
    maxCount: 10,
    label: "Guests in Party"
},
"guests.$": {
    type: Object,
    label: "Guest Object"
},
"guests.$.firstName": {
    type: String,
    label: "First Name"
},
"guests.$.lastName": {
    type: String,
    label: "Last Name"
}

Template Code:

<template name='afArrayField_guestsObjectField'>
    {{#afEachArrayItem name="guests" minCount="this.atts.minCount" maxCount="this.atts.maxCount"}}
    <div class="form-group">
        <label class="control-label col-sm-2">Guest</label>
        {{> afObjectField name="this.name" label="false" template='customObjectField'}}
        <div class="col-sm-2">
            {{#if afArrayFieldHasLessThanMaximum name="guests"}}
            <button type="button" class="btn btn-primary autoform-add-item" data-autoform-field="{{guests}}" data-autoform-minCount="{{this.atts.minCount}}" data-autoform-maxCount="{{this.atts.maxCount}}"><span class="glyphicon glyphicon-plus"></span></button>
            {{/if}}
            {{#if afArrayFieldHasMoreThanMinimum name="guests"}}
            <button type="button" class="btn btn-primary autoform-remove-item pull-left"><span class="glyphicon glyphicon-minus"></span></button>
        {{/if}}
        </div>
    </div>
    {{/afEachArrayItem}}
</template>

<template name="afObjectField_customObjectField">
    <div class="col-sm-4">
        {{> afFieldInput name="this.firstName" class="form-control" placeholder="First Name"}}

        {{#if afFieldIsInvalid name='this.firstName'}}
            <span class="help-block">{{{afFieldMessage name='this.firstName'}}}</span>
        {{/if}}
    </div>
    <div class="col-sm-4">
        {{> afFieldInput name="this.lastName" class="form-control" placeholder="Last Name"}}

        {{#if afFieldIsInvalid name='this.lastName'}}
            <span class="help-block">{{{afFieldMessage name='this.lastName'}}}</span>
        {{/if}}
    </div>
</template>

The problem I am having is that the plus buttons shows up after the firstName and lastName field how I want it to, but when I press it another guest object (in the form) does not generate. Any thoughts?

Maggie S.
  • 1,076
  • 4
  • 20
  • 30

0 Answers0