Клиентская проблема проверки TinyMCE

У меня есть проблема с редактором TinyMCE. Я имею форму с немногими текстовыми полями и текстовой областью (tinymce), и включил клиентскую проверку. То, когда я нажимаю, сохраняют проверку кнопки, происходит на всех текстовых полях, но требуется 2 щелчка для проверки tinymce содержания. Кроме того, шоу проверки обмениваются сообщениями только, когда поле пусто, или если условие не удовлетворено (только по тестовым причинам, макс. 5 символов могут быть введены), но когда я ввожу правильный номер символов (менее затем 5), сообщение об ошибке остается.

Вот пример кода:

    <%Html.EnableClientValidation(); %>
    <%= Html.ValidationSummary(true, "Na stranici postoje greške.", new { @style = "color: red;" })%></p>
    <% using (Html.BeginForm("Create", "Article", FormMethod.Post, new { enctype = "multipart/form-data" }))
       { %>
    <fieldset>
        <legend>Podaci za Aranžman</legend>
            <label class="EditLabel" for="name">
                Opis</label>
            <br />
            <%= Html.TextAreaFor(Model => Model.Description, new { style = "width: 100%; height: 350px;", @class = "tinymce" })%>
            <%= Html.ValidationMessageFor(Model => Model.Description, "", new { @style = "color: red;" })%>
        <p>
            <input type="submit" value="Sačuvaj aranžman" />
        </p>
    </fieldset>
    <% } %>

и свойство

    [Required(ErrorMessage = "Unesi opis")]
    [StringLength(5, ErrorMessage = "Opis mora imati manje od 5 znakova")]
    public string Description { get; set; }

Какие-либо предложения???

10
задан tereško 4 September 2013 в 17:46
поделиться

1 ответ

Причина этого в том, что большинство редакторов форматированного текста (включая tiny mce) не используют текстовую область. Вместо этого он имеет собственный ввод и копирует текст только при отправке формы. Таким образом, поле, которое вы проверяете, на самом деле не меняется, когда вы вводите что-то в редакторе.

Что вам нужно сделать, так это создать обходной путь, который копирует текст из редактора в текстовую область, когда вы нажимаете кнопку отправки. Это можно сделать так:

$('#mySubmitButton').click(function() {
    tinyMCE.triggerSave();
});
27
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: