Отображение ошибки проверки для проверки на стороне сервера - PullRequest
0 голосов
/ 19 января 2012

У меня есть форма ajax, и внутри у меня есть редактор для модели, которая имеет поле электронной почты с пользовательским атрибутом проверки, который проверяет, существует ли электронная почта на сервере, поэтому она выглядит следующим образом:

$("#submitPop").live("click", (function (e) {
       var form = $("#popForm");
        form.validate();
        if (form.valid()) {
            $.ajax({
                type: "POST",
                url: "/Account/RegisterEmail/",
                data: form.serialize(),
                dataType: "json",
                success: function (result) {
                    if (result.Status) {
                        location.reload(true);
                    } else {
                        alert("Something Went Wrong!"); //what should i write here to show the error message in its generated field-validation-error span
                    }
                }
            });
        }
        return false;

    }));

внутри формы Ajax:

       @Html.EditorFor(x => x.Email)
       @Html.ValidationMessageFor(x => x.Email)</li>

как говорится в комментарии, что делать, когда результат ajax возвращает false, чтобы показать сообщение об ошибке в сгенерированном поле field-validation-error?

Я думал о нативном способе сообщить jquery об ошибке и сообщить jquery, чтобы он изменил все необходимые изменения, например, поставил красный X и сделал красный шрифт с ошибкой и т. Д. И т. Д. что-то вроде:

$.Validator.ShowErrorMessageFor("Email","Email is Already Taken")

Ответы [ 3 ]

2 голосов
/ 19 января 2012

Если вы используете ASP.net, MVC3 предложит использовать Удаленная проверка Атрибут

Сообщение об ошибке будет отображаться в поле «Ошибка проверки поля».

ASP.NET MVC 3 provides a mechanism that can make a remote server call in order to validate a form field without posting the entire form to the server. This is useful when you have a field that cannot be validated on the client and is therefore likely to fail validation when the form is submitted. For example, many Web sites require you to register using a unique user ID. For popular sites, it can take several attempts to find a user ID that is not already taken, and the user's input is not considered valid until all fields are valid, including the user ID. Being able to validate remotely saves the user from having to submit the form several times before finding an available ID.

См. Этот SO вопрос удаленной проверки в asp-net-mvc-3- или см. MSDN Article

0 голосов
/ 19 января 2012

сначала установите идентификатор для диапазона:

<span class="field-validation-error" id="validEmail"></span>

, затем вы можете использовать:

$('#validEmail').text('Email already exist...');
0 голосов
/ 19 января 2012

Я предполагаю, что Id диапазона составляет field-validation-error, тогда он должен быть таким,

$('#field-validation-error').text('Email already exist, Please enter a different email ID');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...