public IActionResult Editar(RolViewModel rolVM) { if (ModelState.IsValid) { try { RolesRepository rolesRepository = new RolesRepository(); var rolResult = rolesRepository.GetRolByNombre(rolVM.Nombre.ToLower()); //Regex regex = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s 0-9 ]+$"); Regex regex = new Regex(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ\s ]+$"); bool resultado = true; resultado = regex.IsMatch(rolVM.Nombre); if (!resultado) { ModelState.AddModelError("", "No se aceptan números y caracteres especiales en el rol (Solo: a-z, A-Z)."); return(View(rolVM)); } Regex regexNoNumStart = new Regex(@"[0-9]| $"); bool resultadoNoNumStart = false; string textoFirstChart = rolVM.Nombre.Substring(0, 1); resultadoNoNumStart = regexNoNumStart.IsMatch(textoFirstChart); if (resultadoNoNumStart) { ModelState.AddModelError("", "No se permite iniciar con NÚMERO o con ESPACIO."); return(View(rolVM)); } if (rolResult == null) { rolesRepository.UpdateRolVM(rolVM); return(RedirectToAction("Rol", "Administrador")); } else if (rolResult.IdRol == rolVM.IdRol) { rolResult.Nombre = rolVM.Nombre; rolesRepository.Update(rolResult); return(RedirectToAction("Rol", "Administrador")); } else { ModelState.AddModelError("", "Ya existe este rol."); return(View(rolVM)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(rolVM)); } } else { return(View(rolVM)); } }