Ejemplo n.º 1
0
        public static void AddErrors <TModel>(Expression <Func <TModel, TModel> > modelExpression,
                                              modelBinding.ModelStateDictionary modelState, Response <TModel> response)
        {
            string modelPrefix = ((MemberExpression)modelExpression.Body).Member.Name + ".";

            if (response.ServerValidationErrors == null)
            {
                response.ServerValidationErrors = new List <ServerValidationError>();
            }
            response.ServerValidationErrors.AddRange(
                modelState.Select(delegate(KeyValuePair <string, modelBinding.ModelState> error)
            {
                return(new ServerValidationError
                {
                    Key = error.Key.StartsWith(modelPrefix) ? error.Key.Substring(modelPrefix.Length) : error.Key,
                    Value = string.Join(", ", error.Value.Errors.Select(x => x.ErrorMessage))
                });
            }));
        }