【发布时间】:2021-05-27 00:18:10
【问题描述】:
我有以下 ViewModel;
public class MyViewModel {
[Required(ErrorMessage = "Location is required")]
[Range(SOME_RANDOM_COORDINATE, SOME_RANDOM_COORDINATE, ErrorMessage = "Keep location within map bounds")]
public double? Latitude { get; set; }
[Required(ErrorMessage = "Location is required")]
[Range(SOME_RANDOM_COORDINATE, SOME_RANDOM_COORDINATE, ErrorMessage = "Keep location within map bounds")]
public double? Longitude { get; set; }
}
我使用 OpenStreetMap 作为这些纬度和经度值的输入,并且我想使用 ViewModel 中的属性添加客户端和服务器端验证。我正在创建两个 html 输入字段(均隐藏)。提交表单(而不是设置位置)时,我自然会得到两次“需要位置”。如何将这两个属性组合在一起进行验证?
查看;
<form asp-area="" asp-controller="Report" asp-action="Create" method="post" enctype="multipart/form-data">
<h4>@ViewData["Title"]</h4>
<hr />
<div class="form-group">
<input id="latitude" type="hidden" asp-for="@Model.Latitude" class="form-control" />
<span asp-validation-for="@Model.Latitude" class="text-danger"></span>
</div>
<div class="form-group">
<input id="longitude" type="hidden" asp-for="@Model.Longitude" class="form-control" />
<span asp-validation-for="@Model.Longitude" class="text-danger"></span>
</div>
</form>
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc viewmodel latitude-longitude