public ActionResult FormMetadata() { IControlGroup fd = MyFormMetadata.GetMetadata(); var rs = JsonConvert.SerializeObject(fd, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return(Content(rs, "application/json")); }
public ActionResult Save(MyFormData data) { IControlGroup fd = MyFormMetadata.GetMetadata(); MkoForms.Validators.ControlGroupValidator.Validate(data, fd); var r = new FormSaveReply(); if (data.lastName == "Fail") { r.isFailure = true; r.failureMessage = "Nie udało się zapisać zmian, błąd na żądanie użytkownika."; } else if (data.lastName == "Error") { r.isError = true; r.errors = new string[] { "Wartość jest niewystarczająca.", "Podane wartości są bez sensu!" }; r.propertyErrors = new Dictionary <string, object>(); r.propertyErrors["notifyViaMail"] = "In %s you must allow notifying by mail"; r.propertyErrors["extraPerson.lastName"] = "In %s the name seems suspicious."; r.propertyErrors["recipients.0"] = "W polu %s wartość jest brzydka."; r.propertyErrors["contacts.0.firstName"] = new string[] { "W polu %s mamy pierwszy błąd.", "W polu %s mamy też błąd kolejny" }; int lastIndex = data.contacts.Length - 1; string path = string.Format("contacts.{0}.lastName", lastIndex); r.propertyErrors[path] = "In %s we have an error added dynamically"; } else { r.isSuccess = true; } var rs = JsonConvert.SerializeObject(r, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return(Content(rs, "application/json")); }