Tengo un problema con la validación en MVC, mi modelo tiene una propiedad doble y cuando presento 10.30 o algo con "." dentro de él me dice que "El valor '10 .30 'no es válido para Price". Hice algunas investigaciones y dicen que la validación del modelo debería ser invariante de la cultura, pensaba que podría ser el problema, ya que mi navegador y mi servidor están en francés, pero no deberían.MVC3 La validación del modelo no funciona en un doble
Aquí está mi código:
[HttpPost]
[ValidateAntiForgeryToken]
[Authorize(Roles = "Admin")]
[ValidateInput(false)]
public virtual ActionResult Edit(AuctionModel model)
{
if (ModelState.IsValid)
{
//do the work
}
return View(model);
}
public class AuctionModel
{
public string Id { get; set; }
[Required(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "FieldMandatory")]
[LocalizedDisplayName("Title")]
public string Title { get; set; }
[Required(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "FieldMandatory")]
[LocalizedDisplayName("Description")]
public string Description { get; set; }
[Required(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "FieldMandatory")]
[LocalizedDisplayName("Photo")]
public string Photo { get; set; }
[Required(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "FieldMandatory")]
[LocalizedDisplayName("StartDate")]
public DateTime StartDate { get; set; }
[Required(ErrorMessageResourceType = typeof(Strings), ErrorMessageResourceName = "FieldMandatory")]
[LocalizedDisplayName("Price")]
public double Price { get; set; }
}
Gracias por la ayuda!
has necesitado entrar '10,30' acaba de volver a verificar si se trata de una cuestión de cultura? – StriplingWarrior
Sí y todavía tengo un error: el campo Precio debe ser un número. – VinnyG
Cuando está con un "." va del lado del servidor y ModelState.IsValid = false y cuando es un "," no va del lado del servidor, la validación es del lado del cliente ... – VinnyG