【发布时间】:2014-05-15 23:39:54
【问题描述】:
我正在尝试将远程验证器与 Parsley 一起使用,但我似乎无法随请求发送其他数据。有问题的字段是电子邮件字段,我想将其发送到服务器以查看电子邮件地址是否“可用”。另外,我需要发送一个服务器需要的 id 参数。 id 参数嵌入在我的表单中的“主机”字段中。
所以,我尝试使用 Parsley DOM API,如下所示:
<input type="text" class="form-control" tabindex="15" id="email" name='email'
data-parsley-type="email" data-parsley-type-message="Must be a valid email format"
data-parsley-required="true" data-parsley-required-message="Email is required"
data-parsley-remote="/invitation/allowed"
data-parsley-remote-options='{ "type": "get", "data" : { "id": function() {return $("#host").val(); } }}'>
在 API 配置的最后一行中,我尝试了各种组合来将主机字段的值放入我的 URL。这些包括转义函数中的引号;并证明 'host'(或 '#host')作为 id 属性的值。在每种情况下,我只能通过 URL 获取我的电子邮件地址。
请注意,我可以毫无问题地传递文字(例如 { "id": "TestTest" })。
我也尝试过如下使用javascript:
<script type="text/javascript" src="/js/parsley.remote.js"></script>
<script type="text/javascript">$('#employee-form').parsley({})</script>
<script type="text/javascript">
$('#email').parsley().addConstraint('remote',
{
url: '/invitation/allowed',
type: 'GET',
data: {
id: function () { return $('#host').val() }
}
})
</script>
当我这样做时,我有两个问题:没有在 URL 中设置 id,而且基本 url 不正确 - 它调用当前页面的地址(不是 /invitation/allowed)。
几个小时前问的这个问题,类似:Remote validation for a field which depends on others
【问题讨论】:
标签: javascript validation parsley.js