public void RegisterValidationModifiers() { Editors.Modifier <RequiredValidationModifier>(); Editors.Modifier <StringLengthValidationModifier>(); Editors.Modifier <RangeValidationModifier>(); Editors.Modifier <EmailValidationModifier>(); Editors.Modifier <UrlValidationModifier>(); Editors.Modifier <NumericValidationModifier>(); Editors.Modifier <DateValidationModifier>(); }
public AspNetMvcHtmlConventions(Action <AspNetMvcHtmlConventions> configurator = null) { if (configurator != null) { configurator(this); } Validators.Always.BuildBy <SpanValidatorBuilder>(); Editors.Always.ModifyWith(er => er.CurrentTag.Id(er.ElementId)); // Labels Labels.ModifyForAttribute <DisplayAttribute>((t, a) => t.Text(a.Name)); Labels.IfPropertyIs <bool>() .ModifyWith(er => er.CurrentTag.Text(er.OriginalTag.Text() + "?")); // Checkboxes Editors.IfPropertyIs <bool>().Attr("type", "checkbox"); // Color //Editors.IfPropertyIs<Color>().Attr("type", "color"); // Date TODO: bring in Noda time //Editors.IfPropertyIs<LocalDate>().Attr("type", "date"); //Editors.IfPropertyIs<LocalTime>().Attr("type", "time"); //Editors.IfPropertyIs<LocalDateTime>().Attr("type", "datetime-local"); //Editors.IfPropertyIs<OffsetDateTime>().Attr("type", "datetime"); // Email Editors.If(er => er.Accessor.Name.Contains("Email")) .Attr("type", "email"); // Hidden Editors.IfPropertyIs <Guid>().Attr("type", "hidden"); Editors.IfPropertyIs <Guid?>().Attr("type", "hidden"); Editors.IfPropertyHasAttribute <HiddenInputAttribute>().Attr("type", "hidden"); Editors.IfPropertyIs <decimal?>().ModifyWith(m => m.CurrentTag.Data("pattern", "9{1,9}.99").Data("placeholder", "0.00")); // Password Conventions Editors.If(er => er.Accessor.Name.Contains("Password")).Attr("type", "password"); Editors.If(er => { var attr = er.Accessor.GetAttribute <DataTypeAttribute>(); return(attr != null && attr.DataType == DataType.Password); }).Attr("type", "password"); Editors.Modifier <EnumDropDownModifier>(); Editors.Modifier <HtmlTagAttributeModifier>(); Editors.Modifier <TextAreaPropertyNameModifier>(); }
public DefaultHtmlConventions() { Editors.BuilderPolicy <CheckboxBuilder>(); Editors.Always.BuildBy <TextboxBuilder>(); Editors.Modifier <AddNameModifier>(); Displays.Always.BuildBy <SpanDisplayBuilder>(); Labels.Always.BuildBy <DefaultLabelBuilder>(); }
private void ConfigEditors() { Editors.Always.AddClass("form-control"); // TODO: Scan all modifiers? Editors.Modifier <EnumDropDownModifier>(); //Editors.Modifier<LookupDropDownModifier>(); Editors.BuilderPolicy <CategorySelectElementBuilder>(); Editors.Modifier <CurrencyDropDownModifier>(); Editors.Modifier <LanguageDropDownModifier>(); Editors.Modifier <CultureDropDownModifier>(); Editors.Modifier <TimeZoneDropDownModifier>(); Editors.IfPropertyIs <DateTime?>().ModifyWith(m => m .CurrentTag .AddPattern("9{1,2}/9{1,2}/9999") .Data("provide", "datepicker") .AddClass("datepicker") .Data("date-format", "mm/dd/yyyy") .Value(m.Value <DateTime?>() != null ? m.Value <DateTime>().ToShortDateString() : string.Empty)); Editors .If(er => er.Accessor.Name.EndsWith("id", StringComparison.OrdinalIgnoreCase)) .BuildBy(a => new HiddenTag().Value(a.StringValue())); Editors .IfPropertyIs <byte[]>() .BuildBy(a => new HiddenTag().Value(Convert.ToBase64String(a.Value <byte[]>()))); Editors .If(er => er.Accessor.Name.EndsWith("password", StringComparison.OrdinalIgnoreCase)) .ModifyWith(x => x.CurrentTag.Attr("type", "password")); Editors .IfPropertyIs <bool>() .ModifyWith(m => { m.CurrentTag.Attr("class", "").Attr("type", "checkbox").Attr("value", "true"); m.WrapWith(new HtmlTag("label")); }); Editors.IfPropertyIs <decimal>() .ModifyWith(m => m.CurrentTag.Value(m.Value <decimal>() == 0 ? string.Empty : m.Value <decimal>().ToString("F2"))); }
public EditorConventions() { Editors.BuilderPolicy <CheckboxBuilder>(); Editors.Always.BuildBy <TextboxBuilder>(); Editors.Modifier <AddNameModifier>(); Displays.Always.BuildBy <SpanDisplayBuilder>(); Labels.Always.BuildBy <DefaultLabelBuilder>(); Editors.Always.AddClass("form-control"); Editors.BuilderPolicy <EnumDropDownBuilder>(); Labels.Always.AddClass("control-label"); Labels.Always.AddClass("col-md-2"); }
public DefaultHtmlConventions() { Editors.BuilderPolicy <CheckboxBuilder>(); Editors.Always.BuildBy <TextboxBuilder>(); Editors.Modifier <AddNameModifier>(); Displays.Always.BuildBy <SpanDisplayBuilder>(); Labels.Always.BuildBy <DefaultLabelBuilder>(); Templates.Displays.Always.BuildBy <TemplateSpanBuilder>(); Templates.Editors.Always.BuildBy <TemplateTextboxBuilder>(); Templates.Displays.Always.ModifyWith <DataFldModifier>(); Templates.Editors.Always.ModifyWith <DataFldModifier>(); FieldChrome <DefinitionListFieldChrome>(); Forms.Add(new FormTagBuilder()); }
private void validationAttributes() { Editors.Modifier <RequiredModifier>(); Editors.Modifier <NumberModifier>(); }