У меня есть настройка ViewModel для использования RemoteValidation с использованием RemoteAttribute
.Это работает нормально.
РЕДАКТИРОВАТЬ
Обновил его немного, чтобы показать какой-то фиксированный код.
Я хочу отметить, что это не мой фактический "Регистр"код.Это тестирование, чтобы я мог использовать его в других ситуациях.У меня нет регистрации пользователей с использованием плоских имен!
Вот библиотеки, на которые я ссылаюсь, и как я на них ссылаюсь.
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.unobtrusive-ajax.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
Вот как я подключаюRemoteAttribute.
public class UserRegistrationModel
{
[Required]
[RegularExpression(@"^(?:[a-zA-Z\p{L} \.'\-]{3,48})$", ErrorMessage = "This name contains invalid characters. Names must be between 3 and 48 characters, contain only standard unicode symbols, and may not contain any punctuation other than the ['] and [-] symbols.")]
[Remote("ValidateUserName", "Membership", ErrorMessage = "{0} is invalid.")]
public string Name
{
get;
set;
}
}
А теперь вот фактическое поведение контроллера.
public ActionResult ValidateUserName(string name)
{
// perform logic
if (true)
return Json(true, JsonRequestBehavior.AllowGet);
return Json(false, JsonRequestBehavior.AllowGet);
}
Я проверил свой HTML, и он работает так, как я хочу.Но я не понимаю, что делать оттуда.Как я могу показать эту информацию пользователю?Он просто сохраняет его в html
data-val-remote="* is invalid"
, который я наблюдал, и я замечаю, что даже когда RemoteAttribute
возвращает false, html изменяется с
*С 1029 * до value class="valid"
, но в других моих проверках модели это изменяется на `class =" input-validation-error "'.
Так есть ли у кого-нибудь какие-нибудь подсказки о том, как отрисовать удаленное сообщение обратно?Или я действительно ничего не могу сделать?