Das Remote-Attribut wird bei der Überprüfung nicht an den Controller gesendet. Hat jemand eine Ahnung warum nicht?Remote wird in ASP Core 1.0 nicht gestartet. RC2
Ich habe die folgende Klasse:
public class XUser{
[Required]
[Range(0, 100, ErrorMessage = "This is an incorrect ID")] //Just a test
public int ID { get; set; }
[Required]
[Remote("CheckUsername", "Home")]
public string Name { get; set; }
[Required]
[RegularExpression(@"[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage ="This is not an email adres!")]
public string Email { get; set; }
}
Die folgende Controller:
[HttpGet]
public IActionResult Edit(Int64 id) {
return View(users.Where(u => u.ID == id).SingleOrDefault());
}
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit(XUser user) {
if (ModelState.IsValid) {
return RedirectToAction("Index");
} else {
return View(user);
}
}
[HttpGet]
public JsonResult CheckUsername(string Name) {
return Json(false);
}
Und last but not least, die folgende Ansicht:
@model XUser
@using (Html.BeginForm("Edit", "Home", FormMethod.Post)) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.EditorFor(Model => Model.ID) @Html.ValidationMessageFor(Model => Model.ID)
@Html.EditorFor(Model => Model.Name) @Html.ValidationMessageFor(Model => Model.Name)
@Html.EditorFor(Model => Model.Email) @Html.ValidationMessageFor(Model => Model.Email)
<input type="submit" value="Save" />
}
In meinem _Layout Ich habe Die folgenden Skripte enthalten:
Ich habe auch versucht die folgenden:
//Class
[Required]
[Remote("CheckUsername", "Home", HttpMethod = "POST")]
public string Name { get; set; }
//Controller
[HttpPost]
[AllowAnonymous]
public JsonResult CheckUsername(string Name) {
return Json(false);
}
Was ist ASP Core 2.0 ...? – Tseng
@Tseng, das 1.0 hätte sein sollen – Sliver2009