#c# #asp.net-mvc #asp.net-core #model-validation #remote-validation
#c# #asp.net-mvc #asp.net-core #модель-проверка #удаленная проверка
Вопрос:
Я пытаюсь проверить электронную почту, используя этот атрибут удаленной проверки, но я продолжаю получать эту ошибку. Кто-нибудь знает точную причину этого?
public class StudentVm
{
public string Id { get; set; }
[Required]
public string Name { get; set; }
[Remote( "Test", "Validation", HttpMethod = "POST", ErrorMessage = "Invalid Email.")]
public string Email { get; set; }
}
//The validation controller
[Route("Validation/[action]")]
public class ValidationController : Controller
{
[HttpPost]
public async Task<IActionResult> Test(string Email)
{
return Json(false);
}
}
Ошибка
При обработке запроса произошло необработанное исключение. Исключение TypeLoadException: не удалось загрузить тип ‘System.Web.Routing.RouteValueDictionary’ из системы assembly’.Web, версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a’
Комментарии:
1. измените
[Route("Validation/[action]")]
на[Route("[controller]")]
и измените это[HttpPost]
на[HttpPost, Route("test")]
. Это даст вам маршрут/Validation/test
, и вам придется опубликовать это:"hello@world.com"
Если вы хотите опубликовать модель, которая у вас есть выше, вам придется изменитьstring email
на[FromBody] StudentVm student
2. Я пробовал, но у меня не получилось
3. Не могли бы вы поделиться ссылкой на свой пакет? Похоже, вы использовали неправильный пакет.