protected override void AddAttributesToRender(HtmlTextWriter writer) { AddAttributesToRender(writer); if (RenderUplevel) { if (Helpers.EnableLegacyRendering()) { writer.AddAttribute("evaluationfunction", "ClientValidateDate", false); writer.AddAttribute("required", Required.ToString().ToLower(), false); writer.AddAttribute("dateSeparator", CultureInfo.CurrentCulture.DateTimeFormat.DateSeparator, false); writer.AddAttribute("shortDatePattern", CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern, false); writer.AddAttribute("minDate", MinDate.ToString(), false); writer.AddAttribute("maxDate", MaxDate.ToString(), false); writer.AddAttribute("invalidErrorMessage", InvalidErrorMessage, true); writer.AddAttribute("requiredErrorMessage", RequiredErrorMessage, true); } else { Page.ClientScript.RegisterExpandoAttribute(ClientID, "evaluationfunction", "ClientValidateDate", false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "required", Required.ToString().ToLower(), false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "dateSeparator", CultureInfo.CurrentCulture.DateTimeFormat.DateSeparator, false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "shortDatePattern", CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern, false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "minDate", MinDate.ToString(), false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "maxDate", MaxDate.ToString(), false); Page.ClientScript.RegisterExpandoAttribute(ClientID, "invalidErrorMessage", InvalidErrorMessage, true); Page.ClientScript.RegisterExpandoAttribute(ClientID, "requiredErrorMessage", RequiredErrorMessage, true); } } }
protected virtual IDictionary <string, object> GetSettings() { return(new Dictionary <string, object> { { "minDate", MinDate > DateTime.MinValue ? $"$new Date('{MinDate.ToString(Format, CultureInfo.InvariantCulture)}')$" : "" }, { "maxDate", MaxDate > DateTime.MinValue ? $"$new Date('{MaxDate.ToString(Format, CultureInfo.InvariantCulture)}')$" : "" }, { "format", ClientFormat } }); }
public IEnumerable <ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) { var rule = new ModelClientValidationRule(); rule.ValidationType = "daterange"; rule.ValidationParameters["mindate"] = MinDate.ToString("dd/MM/yyyy"); rule.ValidationParameters["maxdate"] = MaxDate.ToString("dd/MM/yyyy"); rule.ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()); yield return(rule); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var date = (DateTime)value; if (date >= MinDate && date <= MaxDate) { return(ValidationResult.Success); } else { return(new ValidationResult($"Date must be since {MinDate.ToString()} till {MaxDate.ToString()}")); } }