如何在Parsley Validation中访问元素属性

时间:2015-06-12 16:54:21

标签: validation parsley.js

我需要在Parsley验证中获取元素的属性,我可以使用jQuery和selector,但我认为这不是最好的方法,有另一种方法可以做到吗?

请参阅下面的验证和HTML代码:



(function () {
  'use strict';

  // Validate xml extension.
  window.ParsleyValidator.addValidator('filetype',
      function (value, requirement) {
        var ext = value.split('.').pop().toLowerCase();

        return ext === requirement;
      }, 32)
    .addMessage('en', 'filetype', 'The selected file must be an %s file.');
}());

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="http://cdn.bootcss.com/parsley.js/2.0.7/parsley.js"></script>

<div class="container">
  <form class="form-horizontal" role="form" data-parsley-validate>
    <div class="form-group">
      <label for="file" class="col-sm-2 control-label">File</label>
      <div class="col-sm-4">
        <input type="file"
          name="file[]"
          id="file"
          class="form-control"
          multiple="multiple"
          data-buttonText="Escolha arquivo"
          data-iconName="fa fa-folder-open"
          data-parsley-filetype="xml"
          required>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-10 col-sm-offset-2">
        <button type="submit" class="btn btn-default">Salvar</button>
      </div>
    </div>
  </form>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

目前的版本并没有真正为您提供访问权限;您需要的一切都应该在requirement。但它可能是一个包含多个值的数组。

未来应该允许您访问以data-parsley-filetype-开头的任何属性,但是您无法从您的示例中了解您实际想要实现的内容,因此我不知道是否这会有所帮助。

答案 1 :(得分:0)

您需要直接访问参数:

window.Parsley
    .addValidator('customvalidator', {
        validateNumber: function (value, requirement) {
            var element = arguments[2].$element.parent();

           //logic here...

        },
        requirementType: 'integer'
    });