asp.net-mvc - TinyMCE客户端验证问题

标签 asp.net-mvc validation tinymce client-side

我在使用 TinyMCE 编辑器时遇到问题。我的表单带有很少的文本字段和文本区域(tinymce),并启用了客户端验证。当我单击“保存”按钮时,所有文本字段都会进行验证,但需要单击两次才能验证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>
    <% } %>

和属性(property)

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

有什么建议吗???

最佳答案

这背后的原因是大多数富文本编辑器(包括tiny mce)不使用文本区域。相反,它有自己的输入,并且仅在提交表单时复制文本。因此,当您在编辑器中键入内容时,您正在验证的字段实际上不会改变。

您需要做的是为此创建一个解决方法,当您单击提交按钮时,将文本从编辑器复制到文本区域。这可以这样完成:

$('#mySubmitButton').click(function() {
    tinyMCE.triggerSave();
});

关于asp.net-mvc - TinyMCE客户端验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2628990/

相关文章:

validation - Grails - 域对象无法正确验证

c# - 如何使用数据库优先方法在 EF Core 中添加数据验证?

jquery - 使用 Jquery 管理 Asp.Net 验证器

javascript - 如何将文件和属性发送到 ASP.NET MVC 中的 Controller 并接收动态生成的 PDF 作为二进制作为响应?

javascript - 如何从 ASP.NET MVC View 包含 Add'l .js? (.aspx)

.net - ASP .NET MVC 表单授权与 Active Directory 组

email - 调整基于 Web 的电子邮件应用程序的所见即所得编辑器

c# - 整个 Controller 类中可用的 ASP.NET Core 路由属性

TinyMCE 发布纯文本而不是 html 标签

TinyMCE 在隐藏文本区域之前不会从文本区域获取内容