/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { // DateTime format: YYYY-MM-DDTHH:mmTZD(ISO-8601) "2018-01-01T14:06+07:00|2018-02-02T14:06+07:00" var submittedValues = (targetElement.GetSubmittedValue() as string[]); // if the value is null, then let the RequiredValidator do the work if (submittedValues == null) { return(true); } if (submittedValues.Length < 2) { return(false); } DateTime startDateTime; DateTime endDateTime; var isStartDateValid = DateTime.TryParse(submittedValues[0], out startDateTime); var isEndDateValid = DateTime.TryParse(submittedValues[1], out endDateTime); if (!isStartDateValid || !isEndDateValid) { return(false); } var datetimeRangeBlock = targetElement as DateTimeRangeElementBlock; var pickerType = (datetimeRangeBlock != null) ? (DateTimePickerType)datetimeRangeBlock.PickerType : DateTimePickerType.DateTimePicker; switch (pickerType) { case DateTimePickerType.DatePicker: return(endDateTime.Subtract(startDateTime).TotalDays > 0); } return(endDateTime.Subtract(startDateTime).TotalSeconds > 0); }
/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { // NOTE: when run in none-js mode, the recaptcha element value will be null and validation failed. var submittedValue = targetElement.GetSubmittedValue() as string; if (string.IsNullOrEmpty(submittedValue)) { return(false); } var recaptchaElment = targetElement as RecaptchaElementBlock; if (recaptchaElment == null) { return(false); } var client = new WebClient(); var verifyUrl = RecaptchaVerifyBaseUrl .AddQueryString("secret", recaptchaElment.SecretKey) .AddQueryString("response", submittedValue); var responseString = client.DownloadString(verifyUrl); var result = responseString.ToObject <RecaptchaResponse>(); return(result.success); }
public override bool?Validate(IElementValidatable targetElement) { // DateTime format: YYYY-MM-DDTHH:mmTZD(ISO-8601) "2018-01-01T14:06+07:00" var submittedValue = targetElement.GetSubmittedValue() as string; if (string.IsNullOrEmpty(submittedValue)) { return(true); } DateTime dateTime; if (!DateTime.TryParse(submittedValue, out dateTime)) { return(false); } return(true); }
/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { var submittedValue = targetElement.GetSubmittedValue() as string; if (string.IsNullOrEmpty(submittedValue)) { return(true); } DateTime dateTime; if (DateTime.TryParse(submittedValue, out dateTime)) { return(true); } else { return(false); } }
/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { var submittedValues = (targetElement.GetSubmittedValue() as string[]); // if the value is null, then let the RequiredValidator do the work if (submittedValues == null) { return(true); } if (submittedValues.Length < 2) { return(false); } DateTime startDateTime; DateTime endDateTime; var isStartDateValid = DateTime.TryParse(submittedValues[0], out startDateTime); var isEndDateValid = DateTime.TryParse(submittedValues[1], out endDateTime); if (!isStartDateValid || !isEndDateValid) { return(false); } var datetimeRangeBlock = targetElement as DateTimeRangeElementBlock; var pickerType = (datetimeRangeBlock != null) ? (DateTimePickerType)datetimeRangeBlock.PickerType : DateTimePickerType.DateTimePicker; switch (pickerType) { case DateTimePickerType.TimePicker: var timeRegex = "^(0?[1-9]|1[012])(:[0-5]\\d) [APap][mM]$"; if (!Regex.IsMatch(submittedValues[0].Replace("1900-01-01 ", string.Empty), timeRegex) || !Regex.IsMatch(submittedValues[1].Replace("1900-01-01 ", string.Empty), timeRegex)) { return(false); } break; case DateTimePickerType.DatePicker: return(endDateTime.Subtract(startDateTime).TotalDays > 0); } return(endDateTime.Subtract(startDateTime).TotalSeconds > 0); }
public override bool?Validate(IElementValidatable targetElement) { var submittedValue = targetElement.GetSubmittedValue() as string; if (string.IsNullOrEmpty(submittedValue)) { return(true); } DateTime dateTime; if (!DateTime.TryParse(submittedValue, out dateTime)) { return(false); } var timeRegex = "^(0?[1-9]|1[012])(:[0-5]\\d) [APap][mM]$"; // when have JS a fake date "1900-01-01 " will be added to submitted value return(Regex.IsMatch(submittedValue.Replace("1900-01-01 ", string.Empty), timeRegex)); }
/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { MultipleFileUploadElementBlock uploadElementBlock = targetElement as MultipleFileUploadElementBlock; if (uploadElementBlock == null) { return(true); } IEnumerable <HttpPostedFile> submittedValue = targetElement.GetSubmittedValue() as IEnumerable <HttpPostedFile>; if (submittedValue == null || submittedValue.Count() == 0) { return(true); } var flag = true; var numberOfFiles = submittedValue.Count(); if (numberOfFiles > uploadElementBlock.MaxNumberOfFiles) { flag = false; } return(flag); }
/// <inheritdoc /> public override bool?Validate(IElementValidatable targetElement) { MultipleFileUploadElementBlock uploadElementBlock = targetElement as MultipleFileUploadElementBlock; if (uploadElementBlock == null) { return(true); } IEnumerable <HttpPostedFile> submittedValue = targetElement.GetSubmittedValue() as IEnumerable <HttpPostedFile>; if (submittedValue == null || submittedValue.Count <HttpPostedFile>() == 0) { return(true); } var flag = true; var totalFileSizeBytes = submittedValue.Sum(x => x.ContentLength); if (totalFileSizeBytes > uploadElementBlock.TotalSizeInBytes) { flag = false; } return(flag); }