jQuery Validator Plugin:验证 div 的内容

Posted

技术标签:

【中文标题】jQuery Validator Plugin:验证 div 的内容【英文标题】:jQuery Validator Plugin: Validate contents of a 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>

【问题讨论】:

【参考方案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 的回答不起作用,我会试试这个。 你能确认非表单元素没有经过测试吗?我在文档中找不到这个。 *** 上有很多问题。例如:this one... 但是我还没有找到最近的一个(从 2012 年开始)。此外,整个文档从未提及验证非表单字段的示例。

以上是关于jQuery Validator Plugin:验证 div 的内容的主要内容,如果未能解决你的问题,请参考以下文章

一个简单的jQuery插件,用于验证表单。

jQuery验证不相等

jQuery的Validate插件

jquery插件-表单验证插件-validator对象

jquery-validator 的使用方法

Nice Jquery Validator 从 jQuery Validation 迁移