Я хочу разрешить несколько входных форматов для поля ввода. В моем случае это поле Долгота. В БД я установил десятичное значение (18,10). Ожидается получение значения через запятую, например 16,2345678, но Карты Google или некоторые пользователи используют точку, например 16.2345678
Я не хочу возвращать ошибку, но просто радуюсь и преобразовываю ее в ожидаемый формат БД.
Я пытался сделать это в своем классе проверки метаданных (используя Entity Framework)
public partial class Job
/*[Bind(Exclude = "ID")]*/
public class JobMetaData
{
public object Longitude
{
get { return this.Longitude; }
set { this.Longitude = value; /* Seems that this point isnt reached*/ }
}
но, к сожалению, сеттер не вызывается и ViewState.isValid возвращает просто false.
[HttpPost]
public ActionResult Edit(Job model)
{
// parse the long-lat if needed here??
try
{
if (!ModelState.IsValid)
{
Где я должен попытаться проанализировать значение, чтобы оба значения (разделенные запятыми и разделенные точками) преобразовали их и сохранили.
У меня та же проблема с другим полем: я бы хотел, чтобы пользователь ввел 4 или 4 €, на случай, если просто удалите знак € и сохраните его как число в db.
Спасибо за вашу помощь.