【发布时间】:2021-05-09 14:12:34
【问题描述】:
我有一个Countries 的网格,我尝试远程验证Code,它应该是唯一的。
public class CountryDTO
{
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
[MaxLength(2)]
[Remote(action: "KeyExist", controller: "Countries")]
public string Code { get; set; }
}
我在Views/Shared/EditorTemplates/CountryDTO.cshtml下面有
@model MyApp.Web.ApiModels.CountryDTO
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Code" class="control-label"></label>
<input asp-for="Code" class="form-control" />
<span asp-validation-for="Code" class="text-danger"></span>
</div>
<input type="hidden" asp-for="Id" />
在CountriesController:
[AcceptVerbs("GET", "POST")]
public IActionResult KeyExist([Bind(Prefix ="Code")]string key)
{
if (_countriesService.KeyExist(key, id))
{
return Json($"The Code '{key}' is already used!");
}
return Json(true);
}
【问题讨论】:
标签: c# validation asp.net-core telerik-grid .net-5