Thread overview
vibed how do I convert form values into a struct automatically?
Nov 10, 2021
Chris Bare
Nov 10, 2021
Chris Bare
November 10, 2021

I know I can do this manually by looking at HTTPServerRequest req, but the documentation for registerWebInterface sounds like there's an automatic way to do this.

<form id="employeeform" action="employeeform" method="POST">
    <input class="textfield" name="first_name" value="Homer" required/>
    <input class="textfield" name="last_name" value="Simpson" required/>
</form>
struct Employee
{
	long id;
	string first_name;
	@string last_name;
}

in my web interface service I tried:

void postEmployeeform (Employee employeeform)

but that won't compile. The following compiles and works:

void postEmployeeform (string first_name, string last_name)

What am I missing?

November 10, 2021

On Wednesday, 10 November 2021 at 19:23:44 UTC, Chris Bare wrote:

>

What am I missing?

I figured out part of it. In the html input element the name has to be employeeform.first_name.
but now I get a different error: Error handling field 'employeeform.id': Missing form field.

I tried declaring the id as @optional, but that did not make a difference.

struct Employee
{
	@optional long id;
	string first_name;
	string last_name;
}

Is there another way to indicate that a field does not have to be in the form?

November 11, 2021

On Wednesday, 10 November 2021 at 20:23:07 UTC, Chris Bare wrote:

>

On Wednesday, 10 November 2021 at 19:23:44 UTC, Chris Bare wrote:

>

What am I missing?

I figured out part of it. In the html input element the name has to be employeeform.first_name.
but now I get a different error: Error handling field 'employeeform.id': Missing form field.

I tried declaring the id as @optional, but that did not make a difference.

struct Employee
{
	@optional long id;
	string first_name;
	string last_name;
}

Is there another way to indicate that a field does not have to be in the form?

Make it a Nullable!int

-Steve