Могу ли я увеличить максимальную длину вводимого текста в TextAreaComponent? - PullRequest
0 голосов
/ 11 февраля 2019

Я использую Kentico 12 MVC , и я работаю с компоновщиком страниц .

TextAreaComponent имеет ограничение в 500 символов.Я хотел бы увеличить этот лимит для определенного свойства или удалить это правило проверки и создать свои собственные правила проверки.Это потому, что я хотел бы использовать конструктор для длинных компонентов абзаца.Это свойство:

[EditingComponent(TextAreaComponent.IDENTIFIER, Order = 0, Label = "Paragraaf")]
public string Text { get; set; } = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam bibendum sapien a justo dignissim pellentesque. Praesent rutrum venenatis neque in fringilla. Fusce vitae massa iaculis, mattis nulla vel, lacinia ex. Mauris sed dui ut nunc accumsan accumsan efficitur vel lacus. Morbi varius, libero et semper laoreet, arcu libero cursus purus, in congue est arcu eget nunc. Proin mattis justo at pharetra scelerisque. Pellentesque tristique elit odio, a bibendum dui laoreet sit amet. Cras orci ex, semper eget ipsum eget, molestie egestas urna. Maecenas vitae neque at nulla congue dictum. Vestibulum eu justo aliquet, feugiat elit at, consectetur mauris. Maecenas in neque dapibus, lacinia est at, laoreet nibh. Sed semper feugiat risus eu ultrices. Sed sagittis ut dolor nec aliquet.";

Я могу добавить правило проверки для ограничения в 300 символов:

[StringLength(300)]

Это приводит к ошибке проверки свыше 300 символов: The field Text must be a string with a maximum length of 300..Когда я превышаю 500 символов, он не отображает ошибку проверки для более чем 300 символов, но показывает 500 символов: Maximum allowed length of the input text is 500.

Когда я пытаюсь изменить StringLength на более чем500, построители форм по-прежнему показывают ту же ошибку проверки при более чем 500 символов.Установка MaxLength действует аналогично.

Я также пытался расширить TextAreaComponent и реализовать свой собственный установщик значений, но я не знаю, как бы я использовал этот пользовательский компонент вместо собственногоКомпонент Kentico.

Как увеличить правило проверки, ограничивающее длину значения TextAreaComponent?

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019

Вы также можете установить размер с помощью атрибута EditingComponentProperty, например:

[EditingComponentProperty("Size", 1000)]
[EditingComponent(TextAreaComponent.IDENTIFIER, Order = 0, Label = "Paragraaf")]
public string Text { get; set; }
0 голосов
/ 20 июня 2019

Проблема проверки, когда ввод был длиннее 500 символов, была исправлена ​​в 12.0.26

0 голосов
/ 11 февраля 2019

Каждый раз, когда создается новый экземпляр Kentico.Forms.Web.Mvc.TextAreaProperties, в базовый класс передается жестко закодированное значение Size, равное 500.

Таким образом, в вашей пользовательской реализации TextAreaComponent вы можете попробоватьпереопределите значение размера по умолчанию с помощью унаследованного объекта Properties.

Найдите подходящее место для переопределения и попробуйте:

this.Properties.Size = 1000;// Или что угодно

Регистрация компонента пользовательской формы описана здесь: https://docs.kentico.com/k12/developing-websites/form-builder-development/developing-custom-form-components

...