Fix validation for Terms of Service
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user