Fix validation for Terms of Service

This commit is contained in:
2017-01-13 10:23:27 -05:00
parent 3ee9c11666
commit aeaf5002e9
9 changed files with 29 additions and 37 deletions
+10 -17
View File
@@ -12,38 +12,31 @@ namespace LeafWeb.WebCms.Utility
/// </summary>
/// <typeparam name="TModel"></typeparam>
/// <typeparam name="TProperty"></typeparam>
/// <param name="htmlHelper"></param>
/// <param name="expression"></param>
/// <param name="error"></param>
/// <returns></returns>
public static MvcHtmlString ValidationErrorFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string error)
{
if (HasError(htmlHelper, ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData),ExpressionHelper.GetExpressionText(expression)))
return new MvcHtmlString(error);
else
return null;
return
HasError(htmlHelper, ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData),ExpressionHelper.GetExpressionText(expression))
? new MvcHtmlString(error)
: null;
}
private static bool HasError(this HtmlHelper htmlHelper, ModelMetadata modelMetadata, string expression)
private static bool HasError(this HtmlHelper htmlHelper, ModelMetadata modelMetadata, string expression)
{
string modelName = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(expression);
FormContext formContext = htmlHelper.ViewContext.FormContext;
var modelName = htmlHelper.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldName(expression);
var formContext = htmlHelper.ViewContext.FormContext;
if (formContext == null)
return false;
if (!htmlHelper.ViewData.ModelState.ContainsKey(modelName))
return false;
ModelState modelState = htmlHelper.ViewData.ModelState[modelName];
if (modelState == null)
return false;
var modelState = htmlHelper.ViewData.ModelState[modelName];
ModelErrorCollection modelErrors = modelState.Errors;
if (modelErrors == null)
return false;
var modelErrors = modelState?.Errors;
return (modelErrors.Count > 0);
return modelErrors?.Count > 0;
}
}
}