Html 表单隐藏字段和所需的验证使用

Html 表单隐藏字段和所需的验证使用,html,forms,validation,Html,Forms,Validation,我有一个带有隐藏字段的HTML5/引导表单: style=“显示:无” 我通过jQuery显示/隐藏: show() | hide() 对于字段验证,我使用属性required 我希望所有隐藏字段都符合要求,但当其中一些字段没有出现时,表单将无法继续提交 关于如何仅对用户选择显示的字段启用验证,有什么想法吗?将类.hidable添加到您的hidable required输入中。 然后使用这些函数代替show()和hide(): 将类.hidable添加到所需的hidable输入中。 然后使用这

我有一个带有隐藏字段的HTML5/引导表单:
style=“显示:无”

我通过jQuery显示/隐藏:

show() | hide()
对于字段验证,我使用属性required

我希望所有隐藏字段都符合要求,但当其中一些字段没有出现时,表单将无法继续提交


关于如何仅对用户选择显示的字段启用验证,有什么想法吗?

将类
.hidable
添加到您的hidable required输入中。 然后使用这些函数代替show()和hide():


将类
.hidable
添加到所需的hidable输入中。 然后使用这些函数代替show()和hide():


您可以使用以下技巧:

内部HTML表单:

<input type="text" name="username" required="required" class="input-hidden">

您可以使用以下技巧:

内部HTML表单:

<input type="text" name="username" required="required" class="input-hidden">

您可以为html中所有必需的属性添加类名:

<input type="text" name="first_name" class="card-payment-info" required>
<input type="text" name="last_name" class="card-payment-info" required>

您可以为html中所有必需的属性添加类名:

<input type="text" name="first_name" class="card-payment-info" required>
<input type="text" name="last_name" class="card-payment-info" required>
1-将表格更改为“诺瓦利达”

2-捕获提交事件

3-强制浏览器使用input.reportValidity()单独检查每个可见输入

我为此制作了一个JQuery工具,它还使用一个变异观察者自动应用于动态创建的表单

1-将表格更改为“诺瓦利达”

2-捕获提交事件

3-强制浏览器使用input.reportValidity()单独检查每个可见输入

我为此制作了一个JQuery工具,它还使用一个变异观察者自动应用于动态创建的表单


当显示/隐藏字段时,为什么不同时更改所需属性?谢谢你能给我举个例子吗?有很多show/hideTo要删除:
$(“#您的元素id”).removeAttr('required');​​​
添加
$(“#您的元素id”).attr(“必需”,true)​​谢谢唯一的问题是我的show/hide jQuery有点大。有4个相关下拉字段。是否有其他批量选项,或者我必须逐个检查并添加新规则?请提供代码,以便我们更好地了解您的问题。当您显示/隐藏字段时,为什么不同时更改所需属性?谢谢您能给我一个示例吗?有很多show/hideTo要删除:
$(“#您的元素id”).removeAttr('required');​​​
添加
$(“#您的元素id”).attr(“必需”,true)​​谢谢唯一的问题是我的show/hide jQuery有点大。有4个相关下拉字段。是否有其他批量选项,或者我必须逐个检查并添加新规则?请提供代码,以便我们更好地了解您的问题。对于此类问题,它是
.prop()
,而不是
.attr()
。对于此类问题,它是
.prop()
,而不是
.attr()
。Super。这对我有用。但是有没有办法显示缺少此值的消息?默认提交?@Augus-maybe-help:Super。这对我有用。但是有没有办法显示缺少此值的消息?默认情况下提交?@Augus可能有帮助:
// disable require:
$(".card-payment-info").attr('required', false);
// enable require
$(".card-payment-info").attr('required', true);
$('form')
  .attr('novalidate', true)
  .on('submit', function(){
    var isValid = true;
    $('input:visible,select:visible,textarea:visible', this).each(function() {
      // report validity returns validity of input and display error tooltip if needed
      isValid = isValid && this.reportValidity();
      // break each loop if not valid
      return isValid;
    });
    // do not submit if not valid
    return isValid;
  })