【问题标题】:validate form using parsley when a condition is met满足条件时使用欧芹验证表单
【发布时间】:2014-03-03 06:32:04
【问题描述】:

我正在使用欧芹验证来验证注册表单。我的问题是我有一个输入,只有在用户选中复选框时才会启用。那么如何让欧芹仅在选中复选框时验证该输入?

  <form name="form1"  method="POST" data-validate="parsley">
您是怎么知道我们的? :
      <ul class="checklist">
        <li>
          <input name="Internet" id="Internet" value="Internet"  data-mincheck="1" data-group="mygroupp" type="checkbox">
          <label>Internet</label>
        </li>
        <li>
          <input name="Newspaper" id="Newspaper" value="Newspaper" type="checkbox" data-mincheck="1" data-group="mygroupp">
          <label>Newspaper</label>
        </li> <li>
          <input name="Others" id="Others" class="input_control" value="Others" type="checkbox"/ data-mincheck="1" data-group="mygroupp" onClick="enable_text(this.checked)">
          <label>Others, Please Specify:</label>
        </li>
      </ul>
      <p>
        <input type="text" name="Otherinput" id="Otherinput" class="quter-width align-right margin_top_5"  data-required="true"  disabled="disabled" >
      </p>

复选框的验证工作正常,但我想为“otherinput”输入字段添加验证,只有在选中“Others”复选框时才会验证 谁能指导我。 提前致谢。

【问题讨论】:

  • 您需要首先证明自己的努力。这在某种程度上就像街头乞丐,你的标志只是写着“GIMME”。你需要一些更华丽的东西——至少“上帝保佑……请帮忙”
  • 发布您的代码,到目前为止您已经尝试过什么。这也将帮助您学习。

标签: javascript validation parsley.js


【解决方案1】:

我不认为 Parsley.js 提供了开箱即用的功能。相反,您可以通过像这样注册一个 onchange 事件侦听器来自定义它:

$('input#others').change(function() {
  if (this.checked) {
    $('#otherinput').attr('disabled', 'false');
  } else {
    $('#otherinput').attr('disabled', 'true');
  }
});

注意:这假定 ID 名称为小写(即“其他输入”而不是“其他输入”)。

我还没有测试过,但是理论上这样的东西应该可以工作。

【讨论】:

    【解决方案2】:

    Parsley 依赖于在包含 Parsley 之前需要调用的 jQuery (>= 1.6)。

    然后,您可以使用 parsley.js 未压缩文件或 parsley.min.js 压缩文件。这些文件和其他构建(Remote、Extras..)可在此处获得。

    最后,将 data-parsley-validate 添加到您要验证的每个。

    看起来很像这样:

    <script src="jquery.js"></script>
    <script src="parsley.min.js"></script>
    
    <form data-parsley-validate>
    ...
    </form>
    

    它有 isValid() 方法,如果成功满足验证,则返回 true,因此您可以检查表单是否具有有效数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多