javascript - 带有欧芹 js 的唯一用户名

标签 javascript jquery ajax parsley.js

我正在尝试使用 parsley 的 js 自定义验证器来检查表单上的唯一电子邮件地址。但是,当我不在乎返回什么时,它并不会阻止表单提交。

ajax 请求 checkEmailExists 返回 true 或 false,具体取决于电子邮件是否存在

window.Parsley
  .addValidator('uniqueUsername', {
    requirementType: 'string',
    validateString: function(value, requirement) {
      $.ajax({
        url: "checkEmailExists",
        data: {username: value},
        dataType: 'json',
        method: 'POST',
        data: { email: $( "#email" ).val() },
        async: false,
        success: function(data) {
          return data;
        }
      });
    },
    messages: {
      en: 'This email address already exists!'
    }
  });

<input type="text" id="email" name="email" placeholder="Email" data-parsley-uniqueUsername data-parsley-required="true" data-parsley-type="email"/>

最佳答案

您返回的 promise 必须失败或成功,truefalse 不会成功。

最简单的可能是使用远程验证器。

不相关,但对于像这样的幂等请求,您应该使用 GET,而不是 POST

关于javascript - 带有欧芹 js 的唯一用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40348621/

相关文章:

javascript - 使用主干调用保存时如何刷新模型的属性

ajax - Jquery 自动完成不显示结果

javascript - 当文本区域实际上在视线范围内时,如何防止 IE10 自动滚动到焦点上的文本区域

javascript - 在 sockets.io 中发送/接收数据

javascript - ramda.js 中的函数组合

javascript - following a function with (jQuery, window, document) 是什么意思?意思?

javascript - 忽略 "style"属性获取 div 的宽度和高度

javascript - 输入标签,如何在事件中将数字重置为1

javascript - Windows 和 Mac 转换日期的差异

javascript - 如何使用其 ID 在 jquery/javascript 中选择动态生成的表单元素?