У меня есть простая форма входа с 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, чтобы включить эти ошибки
remote
— это способ получения пользовательских сообщений с сервера. См. документацию. - person Sparky   schedule 28.12.2020