【问题标题】:Remote validation for a field which depends on others依赖于其他字段的远程验证
【发布时间】:2014-05-15 10:19:52
【问题描述】:

如何让 parsley 在其 AJAX 调用中包含更多字段,以便测试这些字段之间的依赖关系?

例子:

<form method="post" action="/myscript.php" data-parsley-validate>
   <input type="text" name="i1" 
          data-parsley-group="g1" 
          data-parsley-remote="/myvalidator.php"
   />
   <input type="text" name="i2" 
          data-parsley-group="g1" 
          data-parsley-remote="/myvalidator.php"
   />

   <button type="submit">Send</button>
</form>

目前$_POST-data 仅包含正在验证的字段,但我需要知道同一组中其他字段的输入。顺便说一句,此设置会触发其他问题,例如验证序列(在 i2 填充之前也无法评估 i1 - 但我很乐意仅验证 i2 并在该调用中传递 i1 的值)。

【问题讨论】:

  • MBass,我也有类似的问题,stackoverflow.com/questions/23690448/…
  • 感谢 Kim - 有趣的巧合,我们在同一天提出了这个问题。希望我们也能找到解决方案;)
  • 嘿MBass,更巧合的是,似乎20小时前这里已经发布了解决方案!github.com/guillaumepotier/Parsley.js/pull/645
  • 哇,多么巧合 - 这应该有助于解决问题。你能请。将此作为答案发布,然后我可以关闭问题并获得积分;-)
  • 嗨,MBaas,不确定现有的 github 问题是否能解决我们的问题,所以我打开了另一个,github.com/guillaumepotier/Parsley.js/issues/648。如果您可以对其添加评论,那就太好了,这样开发人员就知道有需求......

标签: parsley.js


【解决方案1】:

我已经设法通过将附加参数设置为 jQuery ajax 的默认值来发送它们。例如,在使用我的验证器的页面底部:

<script type="text/javascript">
    $.ajaxSetup({
            beforeSend: function(xhr, settings) {
                settings.url += "&id=" + $('#host').val();
            }}
    );
</script>

jQuery 文档强烈建议不要以这种方式使用 setup 方法,因为它会影响页面上的任何其他 ajax 请求。如果您的页面不是太忙,那么在 Parsley 库中提供更好的东西之前,它可能是一个合理的解决方法。在此处阅读更多信息,http://api.jquery.com/jQuery.ajaxSetup/

【讨论】:

    猜你喜欢
    • 2012-04-14
    • 2011-08-20
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 2021-08-14
    • 2016-05-27
    相关资源
    最近更新 更多