jquery validator: как передать ошибки формы, о которых сообщается с сервера

У меня есть простая форма входа с first_name, last_name и username password и confirm_password


FORM_RULES ={
    "first_name": {
        "required": true,
        "max_length": 30
    },
    "last_name": {
        "required": true,
        "max_length": 30
    },
    "username": {
        "required": true,
        "max_length": 150
    },
    password: {
        "required": true,
        minlength: 4
    },
    confirm_password: {
        required: true,
        minlength: 4,
        equalTo: "#password"
    },
}


FORM_MESSAGES = {
    "first_name": {
        "required": "This field is required",
        "max_length": jQuery.validator.format("Maximum {0} characters allowed!")
    },
    "last_name": {
        "required": "This field is required",
        "max_length": jQuery.validator.format("Maximum {0} characters allowed!")
    },
    "username": {
        "required": "This field is required",
        "max_length": jQuery.validator.format("Maximum {0} characters allowed!")
    },
    password: {
        required: "This field is required",
        minlength: jQuery.validator.format("At least {0} characters required!")
    },
    confirm_password: {
        required: "This field is required",
        minlength: jQuery.validator.format("At least {0} characters required!"),
        equalTo: "passwords does not match"
    },
}


let validator = $('#myForm').validate({
    rules: FORM_RULES,
    messages: FORM_MESSAGES
});

Теперь, когда я отправляю форму, если пользователь существует, я получаю список ошибок

$.ajax({
    url: "/add_user",
    type: 'POST',
    headers: { 'X-CSRFToken': csrftoken },
    data: row,
    success: function(res) {
        console.log("success")
    },
    error: function(err) {
        console.log(err.responseJson)
    }
})

err.responseJson

{
  "username": [
    "A user with that username already exists."
  ]
  "non-field-errors":[
    "User cannot be create. There are errors"
  ]
}

Теперь я хочу показать ошибку username для поля username, а также поверх формы показать non-field-errors

<div class="alert alert-danger" role="alert" id="alert_add_edit">
    "User cannot be create. There are errors"  <-- show non-field error here
</div> 
<form>
   <input ...username>
   show username error herer
....
</form>

как я могу динамически сообщить проверке jquery, чтобы включить эти ошибки


person Santhosh    schedule 26.12.2020    source источник
comment
Метод remote — это способ получения пользовательских сообщений с сервера. См. документацию.   -  person Sparky    schedule 28.12.2020