Mon programme a des utilisateurs qui peuvent créer un projet (qui se comportent comme des dossiers) et dans les projets, l'utilisateur peut ajouter des documents. L'utilisateur peut partager le projet avec un autre utilisateur.Message d'erreur de ModelState.AddModelError() n'apparaît pas
J'ai empêché qu'un utilisateur puisse ajouter la même personne deux fois dans le même projet mais je ne peux pas sembler afficher le message d'erreur que je veux.
Le courrier électronique a des attributs obligatoires et ces messages d'erreur apparaissent (à la fois s'il est invalide et si la case est vide). Est-ce que je n'utilise pas le droit ModelState.AddErrorMessage()?
Voici comment la variable est dans le modèle
[EmailAddress(ErrorMessage ="Please enter a valid email address!")]
[Display(Name = "Email")]
[Required(ErrorMessage = "You must enter an email!")]
public string email { get; set; }
Ceci est une partie de mon contrôleur
//Prevent double share
List<ProjectModel> userProjects = projectService.getAllProjects(user.email);
foreach(var proj in userProjects)
{
if(proj.name == userService.getProjectByID(urlInt).name)
{
//This is the error message I am trying to display
ModelState.AddModelError(user.email, "This user already has access to this project!");
return View(user);
}
}
userService.share(user.email, urlInt);
return RedirectToAction("../Dashboard/Dashboard");
Ceci est mon Voir
@using (Html.BeginForm("Share", "User", FormMethod.Post, new { @class = "add-document-form" }))
{
<div class="add-document-div">
<div class="form-group">
<label for="email" class="control-label">Email address</label>
<br />
@Html.TextBoxFor(m => m.email, new { @class = "form-conrtol" })
<br />
<!--Here is the validation for the email button-->
@Html.ValidationMessageFor(m => m.email, "", new { @class = "text-danger" })
</div>
</div>
<input type="submit" class="btn btn-fab" value="Send invitation" />
}
Merci beaucoup pour votre réponse rapide! J'ai changé le 'user.email' à' "email" 'qui est le nom de la variable mais le message ne montre toujours pas. Une idée pourquoi? –
La chaîne vide '' "' est surchargée avec AddModelError –
Hmm ... cela ne semble pas fonctionner, peut-être que cela n'écrase pas les validations qui sont données dans le modèle. Peut-être que je dois penser à une autre approche. Merci pour les suggestions! –