jQuery Validate:validation特定组
我正在尝试使用jQuery Validate
,我的一个要求是在通过向导用户界面时validation某些特定组。 我似乎无法找到此function的jQuery Validate文档,并且只能在线找到非常模糊的引用。
我的声明基本上是这样的;
form.validate({ groups: { raceGroup: "race", identityGroup: "name gender age" }, rules: { race: { required: true, }, gender: { valueNotEquals: "Select Gender ...", required: true }, name: { pattern: "^(?!.*[ ]{2})(?!.*[']{2})(?!.*[-]{2})(?:[a-zA-Z0-9 \p{L}'-]{3,64}$)$" } }, messages: { race: { required: "this is a required for your character." }, name: { pattern: "You have entered an invalid name." }, gender: { valueNotEquals: "You must select a valid gender.", required: "You must select a valid gender." } } });
好的,所以我定义了这些小组……但是现在呢? 如何检查组内的所有内容是否有效? (或无效)
groups: { raceGroup: "race", identityGroup: "name gender age" },
“我如何检查组内的所有内容是否有效?(或无效)”
你没有。 这不是groups
选项的工作方式。
使用groups
选项,您只需将多个错误消息组合成一个。 示例:如果您有一组字段,每个字段都使用require_from_group
规则(组中的任何 “一个或多个”字段都是必需的),则groups
选项将确保只显示一条消息,而不是在每个输入旁边重复。
没有用于创建validation组的已定义选项或标准化设置。
如果你试图做一个阶梯forms,有各种方法。
当我创建多步骤表单时,我为每个部分使用一组唯一的
标记。 然后我使用.valid()
方法测试该部分,然后再移动到下一部分。 (不要忘记首先初始化插件;在DOM准备好的所有表单上调用.validate()
。)
然后在最后一节,我在每个表单上使用.serialize()
并将它们连接成一个要提交的数据查询字符串。
这样的东西……
$(document).ready(function() { $('#form1').validate({ // initialize form 1 // rules }); $('#gotoStep2').on('click', function() { // go to step 2 if ($('#form1').valid()) { // code to reveal step 2 and hide step 1 } }); $('#form2').validate({ // initialize form 2 // rules }); $('#gotoStep3').on('click', function() { // go to step 3 if ($('#form2').valid()) { // code to reveal step 3 and hide step 2 } }); $('#form3').validate({ // initialize form 3 // rules, submitHandler: function (form) { // serialize and join data for all forms // ajax submit return false; } }); // there is no third click handler since the plugin takes care of this with the // built-in submitHandler callback function on the last form. });
重要的是要记住我上面的click
处理程序没有使用type="submit"
按钮。 这些是常规按钮,可以在 form
标签之外 ,也可以是type="button"
。
只有最后一个表单上的按钮是常规type="submit"
按钮。 那是因为我只在最后一个表单上利用了插件的内置submitHandler
回调函数。
“概念certificate”演示: http : //jsfiddle.net/N9UpD/
另外,请参阅: