【发布时间】:2019-05-30 06:49:26
【问题描述】:
有些事情我认为很简单,但显然不是,原因我目前还不清楚。
我正在尝试验证想要在我的网站上注册的用户的电子邮件地址。
为此,我使用属性 [Remote] 从另一个控制器调用方法并进行检查。
除了这个方法的输入参数总是到达null,所以它不会接收到用户输入的email地址。
我看到变量的名称应该和我的模型的名称相同,并且是这样(至少我认为?!)。
你有什么想法吗?
模型直接在 RegistrationController 中
public class InputModel
{
[Remote("ValidateEmail", "Home", ErrorMessage = "This email his already used.")]
[Required]
[EmailAddress]
[Display(Name = "Email *")]
public string Email { get; set; }
}
**Home Controller where the method is**
public async Task<IActionResult> ValidateEmail(string Email)
{
var user = await _userManager.FindByNameAsync(Email);
bool result;
if (user.UserName == null)
{
result = true;
}
else
{
result = false;
}
return Json(result);
}
查看
<div class="form-check-inline col-12">
<div class="col-4">
<label asp-for="Input.Email"></label>
</div>
<input asp-for="Input.Email" class="form-control" />
</div>
<div style="margin-left:33%">
<span asp-validation-for="Input.Email" class="text-danger"></span>
</div>
【问题讨论】:
-
请在视图中添加您的型号参考代码!
标签: c# ajax model-view-controller asp.net-core