Jquery 欧芹验证-为生成一个所需的,否则生成错误

Jquery 欧芹验证-为生成一个所需的,否则生成错误,jquery,jquery-ui-sortable,parsley.js,Jquery,Jquery Ui Sortable,Parsley.js,我使用的是'sortable'jqueryui函数,有两个元素可以很好地在它们之间传递元素。如果通过标准表单post提交表单时第一个为空,我希望Parsley生成一个错误: 我已将“required”添加到第一个,但在提交时没有生成错误 第一个可排序UL: 第二个可排序UL: 莫妮卡 我在第一个中添加了一个空占位符,但这也不会产生错误 我在想,我可能需要用一个定制的欧芹规则来计算元素的数量,但不清楚如何做到这一点 谢谢。 默认情况下,芹菜将只考虑输入,而不是其他类型的字段,因此您所需的属性将

我使用的是'sortable'jqueryui函数,有两个元素可以很好地在它们之间传递元素。如果通过标准表单post提交表单时第一个为空,我希望Parsley生成一个错误:

我已将“required”添加到第一个,但在提交时没有生成错误

第一个可排序UL:

第二个可排序UL: 莫妮卡

我在第一个中添加了一个空占位符,但这也不会产生错误

我在想,我可能需要用一个定制的欧芹规则来计算元素的数量,但不清楚如何做到这一点


<>谢谢。

默认情况下,芹菜将只考虑输入,而不是其他类型的字段,因此您所需的属性将被完全忽略。

<>你可以考虑在你的里面添加一个,但这并不是你想要的验证。 我不认为有一个简单的方法来实现你想做的事,即使是用欧芹


您可以自定义输入设置以添加所需的属性,并使用parsley:field:validate事件来计算当前值。如果没有,则将其设置为true;如果有,则将其设置为true或类似值。

使用一个简单的jQuery单击事件的解决方案,该事件用于查看如果$assignees li.length==0,ul是否有子级。如果长度等于零,则显示一个隐藏的div,其中显示一条错误消息,并将提交标志设置为false。然后检查其余表单字段的普通欧芹验证是否为false。如果为false,则将提交标志设置为false。最后,检查submit标志是否为true。如果为true,请提交表单$createaccountform[0]。提交;。[0]参数是必需的,因为jQuery不会仅使用submit函数就覆盖表单的默认提交操作,因此文章-


我已经尝试添加下面的代码,但它生成了一个引用window.ParsleyUI函数的function not found错误$myassigneecounter.clickfunction{if$assignees li.length==0{var myAssigneeValidator=$assignees.parsley;window.ParsleyUI.AddErrorYassigneeValidator,myCustomError,assignees required;};我已经升级到parsley 2.0.6,仍然收到错误。
//validate my form with Parsley
//and check of ul has at least one li
$("#mysubmit").click(function()
{   
    var mysubmitok = true;
    //check if assignees ul has at least one li
    if($("#assignees li").length==0)
    {
        //false - display error message div
        $("#missingassignee").css("display","block");
        //set submit flag to false
        mysubmitok = false;
    }

    //check for Parsley validation result on rest of form fields
    if(false === $("#createaccountform").parsley().validate())
    {
        //if false - set submit flag to false
        mysubmitok = false;
    }

    //submit form via jQuery if no validation errors
    //for either Parsley validated fields or
    //the check for li members of the ul
    //requires [0] parameter to override default form submit event
    if(mysubmitok)
    {
        $("#createaccountform")[0].submit();
    }
});

HTML -
<form method="POST" id="createaccountform" name="createaccountform"  action="create-new-task-do.php" class="textleft inputform" data-parsley-validate novalidate>
    ...<input elements>...
    <input type="button" id="mysubmit" name="mysubmit" class="mybutton tallbutton" value="Create" />
</form>