Имам модел на човек
public class Person
{
public int ID { get; set; }
[Required]
[Remote("UserNameExists", "People", "Username is already taken.")]
public string Name { get; set; }
[Required]
public string LastName { get; set; }
}
Това е моят метод UserNameExists
public JsonResult UserNameExists(string name)
{
bool exists = personRepository.GetPersonByName(name.Trim());
if (!exists)
return Json(true, JsonRequestBehavior.AllowGet);
return Json(string.Format("{0} is not avavfddvilable.", name),
JsonRequestBehavior.AllowGet);
}
Когато имам активиран Javascript, той работи добре, но когато деактивирам JavaScript, това правило не се прилага...
Защо е това?
Моля помогнете.
Редактиране за очаквано поведение:
Според msdn трябва да спазва това правило дори без Javacript
- По избор деактивирайте клиентския скрипт във вашия браузър, стартирайте страницата отново и въведете данни, които нарушават ограниченията за валидиране.
Докато напускате полето, което съдържа невалидните данни, не виждате грешка при проверката, защото скриптовете са деактивирани. Тъй като ASP.NET MVC използва ненатрапчив JavaScript, не виждате грешки в скрипта от страна на клиента. Въпреки това валидирането от страна на сървъра се извършва, когато изпратите формуляра. (Добра практика е да тествате вашето уеб приложение с браузър, в който скриптовете са деактивирани.)