在羊驼毛形式上显示服务器端验证错误消息

时间:2020-09-07 22:37:53

标签: alpacajs

有人可以提供一个非常简单的示例,说明如何以羊驼毛形式显示服务器端验证消息吗?

例如如果http://www.alpacajs.org/demos/bootstrap/simple/simple1.html处的简单表单是随ajax请求提交的,并且服务器返回以下(或类似的)验证消息,我该如何显示消息:

{
  "success":false,
  "errors": [
  {
    "field": "first",
    "message": "first name must be unique"
  },
  { "field": "last",
    "message": "last name must be unique"
  }]
}

我阅读了这些问题,但不幸的是我无法解决该问题。

1 个答案:

答案 0 :(得分:0)

我终于想出了一个简单的jQuery DOM操作解决方案:

"submit": {
"title": "Send Form Data",
"click": function(e) {
    var errorDiv = '<div class="help-block alpaca-message" style="color: #a94442;"><i class="glyphicon glyphicon-exclamation-sign"></i>&nbsp;';
    var promise = this.ajaxSubmit();
    promise.done(function(sdata) {
        if (sdata.success == true) {
            window.location.href ="/user/occasion";
            return true;
        }
        $.each(sdata.errors, function(field, message) {
            aField = $('[data-alpaca-field-name="' + field + '"]');
            if (aField.length === 0)
                return true;
            aField.addClass('has-error');
            aField.after(errorDiv + message + "</div>");
        });
    });
    promise.fail(function(sdata) {
        var message = 'Server error!</br>' + sdata.responseText;
        $('.alpaca-container').after(errorDiv + message + "</div>");

    });
}

}