Browse Source

Field required option

Vova Tkach 6 years ago
parent
commit
fe6eccfa42
2 changed files with 11 additions and 6 deletions
  1. 2 2
      engine/backend/modules/module_users.go
  2. 9 4
      engine/backend/modules/modules.go

+ 2 - 2
engine/backend/modules/module_users.go

@@ -81,7 +81,7 @@ func (this *Module) Module_users_content() string {
 			{kind: dfkHidden, name: "id", value: "0"},
 			{kind: dfkText, caption: "User first name", name: "first_name"},
 			{kind: dfkText, caption: "User last name", name: "last_name"},
-			{kind: dfkEmail, caption: "User email", name: "email"},
+			{kind: dfkEmail, caption: "User email", name: "email", required: true},
 			{kind: dfkPassword, caption: "User password", name: "password"},
 			{kind: dfkSubmit, value: "Add", target: "add-edit-button"},
 		})
@@ -96,7 +96,7 @@ func (this *Module) Module_users_content() string {
 			{kind: dfkHidden, name: "id", value: "0"},
 			{kind: dfkText, caption: "User first name", name: "first_name", value: "1"},
 			{kind: dfkText, caption: "User last name", name: "last_name", value: "2"},
-			{kind: dfkEmail, caption: "User email", name: "email", value: "3"},
+			{kind: dfkEmail, caption: "User email", name: "email", value: "3", required: true},
 			{kind: dfkPassword, caption: "User password", name: "password", hint: "Leave the field blank to not change the password"},
 			{kind: dfkSubmit, value: "Add", target: "add-edit-button"},
 		})

+ 9 - 4
engine/backend/modules/modules.go

@@ -56,6 +56,7 @@ type dataFormField struct {
 	placeholder string
 	hint        string
 	target      string
+	required    bool
 	options     []dataFormFieldOption
 	hook        dataFormFieldHook
 }
@@ -304,6 +305,10 @@ func (this *Module) data_form(data []dataFormField) string {
 			if field.hook != nil {
 				result += field.hook(&field)
 			} else {
+				required := ``
+				if field.required {
+					required = ` required`
+				}
 				result += `<div class="form-group">`
 				result += `<div class="row">`
 				result += `<div class="col-3">`
@@ -312,13 +317,13 @@ func (this *Module) data_form(data []dataFormField) string {
 				result += `<div class="col-9">`
 				result += `<div>`
 				if field.kind == dfkText {
-					result += `<input class="form-control" type="text" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off">`
+					result += `<input class="form-control" type="text" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off"` + required + `>`
 				} else if field.kind == dfkEmail {
-					result += `<input class="form-control" type="email" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off">`
+					result += `<input class="form-control" type="email" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off"` + required + `>`
 				} else if field.kind == dfkPassword {
-					result += `<input class="form-control" type="password" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off">`
+					result += `<input class="form-control" type="password" id="lbl_` + field.name + `" name="` + field.name + `" value="` + html.EscapeString(field.value) + `" placeholder="` + field.placeholder + `" autocomplete="off"` + required + `>`
 				} else if field.kind == dfkTextArea {
-					result += `<textarea class="form-control" id="lbl_` + field.name + `" name="` + field.name + `" placeholder="` + field.placeholder + `" autocomplete="off">` + html.EscapeString(field.value) + `</textarea>`
+					result += `<textarea class="form-control" id="lbl_` + field.name + `" name="` + field.name + `" placeholder="` + field.placeholder + `" autocomplete="off"` + required + `>` + html.EscapeString(field.value) + `</textarea>`
 				}
 				result += `</div>`
 				if field.hint != "" {