/// <summary>
        /// Get data about what validations that are applied to properties on the given model type.
        /// </summary>
        public static ModelLibraryValidationDefinition GetModelLibraryValidationDefinition(Type modelType)
        {
            var definition = new ModelLibraryValidationDefinition();

            var members = modelType.GetMembers()
                          .Where(x => x is FieldInfo || x is PropertyInfo)
                          .Select(x => new
            {
                Name       = (x is FieldInfo field) ? field.Name : (x as PropertyInfo).Name,
                Attributes = x.GetCustomAttributes()
                             .Where(x => x is LibraryValidationBaseAttribute)
                             .Cast <LibraryValidationBaseAttribute>()
            })
Beispiel #2
0
        /// <summary>
        /// Get a definition of the validation on the current model.
        /// </summary>
        public static MvcHtmlString GetModelLibraryValidationDefinitionAsJson(this HtmlHelper html)
        {
            var model = html?.ViewData?.Model;
            ModelLibraryValidationDefinition definition;

            if (model == null)
            {
                definition = new ModelLibraryValidationDefinition();
            }
            else
            {
                definition = LibraryValidationDefinitionDefinitionUtils.GetModelLibraryValidationDefinition(model.GetType());
            }

            string json = SerializeJson(definition);

            return(new MvcHtmlString(json));
        }