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 的内容添加到隐藏的虚拟<textarea>
并对此进行验证。如果 Gurpreets 的回答不起作用,我会试试这个。
你能确认非表单元素没有经过测试吗?我在文档中找不到这个。
*** 上有很多问题。例如:this one... 但是我还没有找到最近的一个(从 2012 年开始)。此外,整个文档从未提及验证非表单字段的示例。以上是关于jQuery Validator Plugin:验证 div 的内容的主要内容,如果未能解决你的问题,请参考以下文章