public SuccessSummaryControl <object> SuccessSummary(string name, string value = null, string id = "",
                                                             string displayName        = null)
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name));

            return(model.Value.ToString() != "True" ? null : new SuccessSummaryControl <object>(model));
        }
        public Label <object> Label(string labelFor, string labelText, bool isRequired = false)
        {
            var model = new ControlModel <object>(labelFor, labelFor, labelText, labelText);

            model = ApplyRequiredRule(model, isRequired);

            return(new Label <object>(model));
        }
示例#3
0
        public RadioCheckBoxListControl <object> RadioList(string name, IEnumerable <SelectListItem> items, string value = null, string id = "",
                                                           string displayName = null, bool isRequired = false, bool isHorizontal = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            return(new RadioCheckBoxListControl <object>(model, items, "radio", isHorizontal));
        }
示例#4
0
        public DateofBirthControl DateOfBirth(string name, DateTime?value = null, string id       = "",
                                              string displayName          = null, bool isRequired = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <DateTime?>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            return(new DateofBirthControl(model));
        }
        public CheckBoxControl CheckBox(string name, bool value = false, string tooltip = "",
                                        string helptext         = "", string id = "", string displayName = null, bool isRequired = false)
        {
            var model = new ControlModel <bool>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: LabelOption.Hide);

            model = ApplyRequiredRule(model, isRequired);

            return(new CheckBoxControl(model, tooltip, helptext));
        }
示例#6
0
        private static ControlModel <TProperty> ApplyRequiredRule <TProperty>(ControlModel <TProperty> model, bool isRequired)
        {
            if (isRequired)
            {
                model.AddRule("required", "This field is required");
            }

            return(model);
        }
示例#7
0
        public TextboxControl <object> SecurityQuestion(string name, string value = null, string id       = "",
                                                        string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <object>(id, name, value, value, labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);
            model.AddRuleIfMissing("securityquestion", "Please enter a valid security question");

            return(new TextboxControl <object>(model, disableAutocomplete: true));
        }
示例#8
0
        public HierarchicalCheckBoxControl <object[]> HierarchicalCheckBoxList(string name,
                                                                               IEnumerable <HierarchicalCheckBoxListItem> items, object[] value = null, string id = "",
                                                                               string displayName = null, bool isRequired = false, LabelOption labelOption = LabelOption.None, bool isDisabled = false)
        {
            var model = new ControlModel <object[]>(id, name, value, displayName ?? GetDisplayName(name, name),
                                                    labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            return(new HierarchicalCheckBoxControl <object[]>(model, items, isDisabled));
        }
示例#9
0
        public TextAreaControl <object> TextArea(string name, string value = null, string id       = "",
                                                 string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None, int?maxLength = null)
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            model.AddRuleIfMissing("maxlength", maxLength.GetValueOrDefault(2000).ToString(), RuleType.HtmlAttribute);

            return(new TextAreaControl <object>(model));
        }
示例#10
0
        public TextboxControl <object> Email(string name, string value = null, string id       = "",
                                             string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);
            model.AddRuleIfMissing("emailadress", "The field is not a valid e-mail address.");
            model.AddRuleIfMissing("maxlength", "250", RuleType.HtmlAttribute);

            return(new TextboxControl <object>(model, "email"));
        }
        public TextboxControl <string> Password(string name, string value = null, string id       = "",
                                                string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <string>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            model.AddRuleIfMissing("password", "You have entered an invalid password.");
            model.AddRuleIfMissing("maxlength", "250", RuleType.HtmlAttribute);

            return(new TextboxControl <string>(model, "password"));
        }
        public TextboxControl <object> Phone(string name, string value = null, string id       = "",
                                             string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None)
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);
            model.AddRuleIfMissing("phonegeneral", "The phone number is invalid");
            model.AddRuleIfMissing("maxlength", "20", RuleType.HtmlAttribute);


            return(new TextboxControl <object>(model, type: "tel"));
        }
示例#13
0
        private ControlModel <TProperty> GetModel <TProperty>(Expression <Func <TModel, TProperty> > expression)
        {
            var meta = ModelMetadata.FromLambdaExpression(expression, _viewData);
            var name = GetName(expression);

            var model = new ControlModel <TProperty>(
                GetId(expression),
                name,
                (TProperty)meta.Model,
                GetDisplayName(meta.DisplayName, meta.PropertyName),
                _validationRulesProvider.GetRulesForProperty(meta.ContainerType, meta.PropertyName),
                GetLabelOption(meta.ContainerType, meta.PropertyName));

            return(model);
        }
示例#14
0
        public TextboxControl <object> TextBox(string name, string value = null, string id       = "",
                                               string displayName        = null, bool isRequired = false, LabelOption labelOption = LabelOption.None, int?maxLength = null, string helpText = "")
        {
            var model = new ControlModel <object>(id, name, value, displayName ?? GetDisplayName(name, name), labelOption: labelOption);

            model = ApplyRequiredRule(model, isRequired);

            if (maxLength.HasValue)
            {
                model.AddRuleIfMissing("maxlength", maxLength.Value.ToString(), RuleType.HtmlAttribute);
            }

            model.AddRuleIfMissing("maxlength", "250", RuleType.HtmlAttribute);

            return(new TextboxControl <object>(model, helpText: helpText));
        }