【问题标题】:jQuery Validator Plugin: Validate contents of a divjQuery Validator Plugin:验证 div 的内容
【发布时间】:2012-11-16 18:41:34
【问题描述】:

在 SharePoint 2010 表单中,富文本字段不呈现为表单元素,而是呈现为 div。我需要使用 jQuery Validator Plugin 来检查这个 div 的内容。

<form>

  <!-- this will validate -->
  <select class="check_this">
    <option>Testing form element</option>
  </select>

  <!-- this will not validate -->
  <div class="check_this">
    Testing div
  </div>

</form>

【问题讨论】:

    标签: jquery jquery-plugins sharepoint-2010 jquery-validate validation


    【解决方案1】:

    问题是没有针对非表单元素进行测试,对吧?

    我还没有测试过这种方法,但是为什么不渲染一个与 div 的 id 同名的空选择元素并添加一个抓取正确元素的方法:

    HTML:

    <form>
        <!-- this is a dummy element -->
        <select name="myElem">
            <option>Testing form element</option>
        </select>
    
        <!-- this is my actual element -->
        <div id="myElem">
            Testing div
        </div>
    </form>
    

    JS:

    jQuery.validator.addMethod("myForm", function(value, element) { 
        var strId = $(element).attr('name');
        var myActualElement = $('form').find('#' + strId);
        var myActualContent = myActualElement.text();
    
        return this.optional(element) || /regexwhateveryouwant/.test(myActualContent); 
    }, "Custom error message");
    

    如果你不能渲染一个虚拟的选择元素,你需要用 jQuery 创建它。

    【讨论】:

    • 我可能能够将 div 的内容添加到隐藏的虚拟 &lt;textarea&gt; 并对此进行验证。如果 Gurpreets 的回答不起作用,我会试试这个。
    • 你能确认非表单元素没有经过测试吗?我在文档中找不到这个。
    • StackOverflow 上有很多问题。例如:this one... 但是我还没有找到最近的一个(从 2012 年开始)。此外,整个文档从未提及验证非表单字段的示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2012-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多