JQuery验证引擎,用于动态添加隐藏的输入字段

Duk*_*ing 2 jquery jquery-validation-engine

我想使用JQuery Validation Engine插件来查看动态添加的隐藏输入字段.

提交表单时,必须至少有一个这样的字段.

它尝试使用groupRequired Validator实现此目的

http://posabsolute.github.com/jQuery-Validation-Engine/#validators/grouprequired

<link rel="stylesheet" href="css/validationEngine.jquery.css" type="text/css"/>
                     <script>
                    $(document).ready(function(){
                        $("#tagform").validationEngine();
                       });
                    </script>
        <form id="tagform">
               <input type="hidden" name="tags" id="tags-input" />
                    <input type="hidden" name="inc" value="locate">
                    <input type="hidden" class="validate[groupRequired[tagitem]]" name="validation">
                    <br><br>
                    <input type="submit" value="Save Tags">

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

添加字段看起来像:

 var formhtml ='<input type="hidden" name="tags[]" class="validate[groupRequired[tagitem]]" id="id'+itemid+'" parenttag="'+parent+'" value="'+itemid+'">';
                $("#tagform").append(formhtml);
Run Code Online (Sandbox Code Playgroud)

目前它根本不检查隐藏的字段.

任何想法如何解决这个或另一种方法?

解决方法

使用简单的javaskript onSubmit函数来检查标记的出现

function checkForm(form)
{
var count = $('input[name="tags[]"]').length;
if(count == 0 ) {
   alert("Select at least one tag");       
   return false;
}
alert ("Count " + count)
return true;
}
Run Code Online (Sandbox Code Playgroud)

仍然喜欢使用Jquery验证引擎

Duk*_*ing 7

使用validateNonVisibleFields实例化JQuery验证

   <script>
    $(document).ready(function(){
        $("#formID").validationEngine({validateNonVisibleFields: true,
        updatePromptsPosition:true});

       });
    </script>
Run Code Online (Sandbox Code Playgroud)

你仍然有问题,Jquery/Javascript无法获得隐藏字段的位置.因此,使用样式可见性:隐藏.

<input name="hiddenq2" type="text" value="" class="validate[required]" jqtop="500" id="form-validation-field-1" style="visibility: hidden">
Run Code Online (Sandbox Code Playgroud)

您仍然可能需要使用promptPosition选项稍微调整一下,但至少会显示一些内容.