【问题标题】:Custom validation of CKEditor (RTE) in ASP.NET MVC在 ASP.NET MVC 中自定义验证 CKEditor (RTE)
【发布时间】:2013-01-30 23:02:27
【问题描述】:

我正在使用 ASP.NET MVC 和 CKEditor (Basic) 来获取输入(几乎完全像这个堆栈溢出 RTE。)用户仅限于粗体、斜体、链接。

我假设我需要验证这个服务器端,以防有人向我的控制器发出带有任何所需 HTML 的 CURL 请求。 (即,它们不受客户端验证的限制)。

所以我需要允许,粗体,斜体,链接标签,列表,但绝对没有别的,这怎么实现?我将在我的视图模型上有一个自定义验证器,但是构建这个自定义验证器的最佳方式是什么?要寻找什么等?

【问题讨论】:

    标签: asp.net asp.net-mvc validation ckeditor rich-text-editor


    【解决方案1】:

    这可以通过正则表达式和负前瞻来实现。

    类似<(?!br/|br /|a|/a|strong|/strong|b|/b|i|/i|ul|/ul|li|/li>).+?> 的东西会匹配除<br /><a></a><strong></strong><b></b><i></i><ul></ul><li></li> 之外的所有标签。

    然后你可以用空字符串替换匹配的出现。

    例如这个输入(在 regextester.com 上测试):

    test <a href="http://www.test.com">test link</a>
    Some <strong>text in bold</strong> and <b>another one</b> but also something
    in <i>italic</i>
    <ul>
        <li>Now</li>
        <li>a list</li>
    </ul>
    <table>
        <tr>
             <td>And a table</td>
        </tr>
    </table>
    <br />
    <hr />
    

    会变成:

    test <a href="http://www.test.com">test link</a>
    Some <strong>text in bold</strong> and <b>another one</b> but also something 
    in <i>italic</i>
    <ul>
        <li>Now</li>
        <li>a list</li>
    </ul>
    
    And a table
    
    <br />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 2013-09-06
      • 2017-06-21
      相关资源
      最近更新 更多