使用jQuery验证设置div的验证

Pra*_*een 5 jquery jquery-validate

我正在使用jQuery validation plugin,用于表单验证.但是我无法为a设置验证div.

这是我到目前为止所尝试的

HTML:

<form id="form">
  <div id="location" name="location"></div>
</form>
Run Code Online (Sandbox Code Playgroud)

JS:

$('#form').validate({
            rules: {
            isLocationEmpty: true;
            }
});
Run Code Online (Sandbox Code Playgroud)

CustomValidation Mehthod:

$.validator.addMethod('isLocationEmpty', function (value, element) {        
    var loc = $('#location').text();
    return (loc != "")
}, 'REQUIRED.');
Run Code Online (Sandbox Code Playgroud)

我之前没有这样做,请提供您的建议.

Spa*_*rky 10

引用OP:

"我正在使用jQuery Validation插件进行表单验证.但是我无法设置验证div.我之前没有这样做,请提供您的建议."

您永远无法使用jQuery Validate插件来验证div.数据输入的正确HTML标记是使用输入元素.

此插件仅适用于以下类型的数据输入元素(每个必须具有唯一name属性),这些元素也必须位于form元素容器中:

<form>

   <!-- // Input - Also including the various HTML5 input types
   // type = text, password, radio, checkbox, file, etc. -->
   <input type="text" name="something" />

   <!-- Hidden Input - 'ignore: []' must be defined in the options -->
   <input type="hidden" name="hide" />

   <!-- Select Dropdown -->
   <select name="foobar"> ... </select>

   <!-- Text Area Box -->
   <textarea name="barfoo"></textarea>

</form>
Run Code Online (Sandbox Code Playgroud)

另请参阅文档中的"参考"页面:http: //jqueryvalidation.org/reference/


显然OP无法改变HTML.这是一个非常丑陋的解决方法.

可用于将文本复制divtype="hidden"元素中的代码,然后可以使用插件验证隐藏元素.此代码可以随时调用,也可以放在事件处理程序中,以便在模糊或更改时触发:

$("#hidden").val( $('#div').text() );
Run Code Online (Sandbox Code Playgroud)

这是相应的jQuery:

$('#form').validate({
    ignore: [], // <-- validate hidden elements
    // other options, rules, and callbacks,
});
Run Code Online (Sandbox Code Playgroud)