The address model field has:
public class Address : InputElementBlockBase, IElementCustomFormatValue
When this bit runs on the submitting form:
public override object GetSubmittedValue()
var rawSubmittedData = HttpContext.Current.Request.Form;
string addressComponents = rawSubmittedData.GetValues(this.Content.GetElementName());
it only ever has 1 component which is the first input box.
When I run the same code without the client resource header/footer scripts, the code will have my 7 components I am expecting. Is there a change I need to do to make it work with the client resource scripts?
For custom element you need mark it as:
class="Form__Element Form__CustomElement FormAddressElement
Then you need overide methods to get and bind its value (since it may contains multiple field). Please see the sample here: https://github.com/episerver/EPiServer.Forms.Samples/blob/master/ClientResources/ViewMode/EPiServerFormsSamples.js
Methods: bindCustomElementValue and getCustomElementValue.