modèle mvc validation requise ne fonctionne pas sur tous les champs
Je travaille dans ASP.NET MVC 4 et j'ai le problème que mon modèle de validation ne fonctionne pas correctement. Pour une raison pas tous mes champs obligatoires doivent être remplis.
Voici mon modèle:
public class MovieModel
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public DateTime ReleaseDate { get; set; }
[Required]
public string Genre { get; set; }
[Required]
public decimal Price { get; set; }
public virtual ICollection<RoleInMovie> RoleInMovie { get; set; }
}
Voici la Vue:
@using (Html.BeginForm())
{
<table>
<tr>
<td>
<label>Name:</label></td>
<td>@Html.EditorFor(m => m.Name)</td>
<td>@Html.ValidationMessageFor(m => m.Name)</td>
</tr>
<tr>
<td>
<label>Genre:</label></td>
<td>@Html.EditorFor(m => m.Genre)</td>
<td>@Html.ValidationMessageFor(m => m.Genre)</td>
</tr>
<tr>
<td>
<label>Price:</label></td>
<td>@Html.EditorFor(m => m.Price)</td>
<td>@Html.ValidationMessageFor(m => m.Price)</td>
</tr>
</table>
<button type="submit">Submit</button>
}
Et voici mon action:
[HttpPost]
public ActionResult Add(MovieModel model)
{
if(ModelState.IsValid)
{
return RedirectToAction("Index");
}
return View();
}
Maintenant, voici la chose: dès que je rentre seulement un prix, modelstate.isvalid devient vrai. Quand le curseur est sur mon modèle, il les isc à la fois le nom et le genre sont nulles. Bien sûr, ils sont nécessaires, mais la validation ne fonctionne pas.
Aussi, le validationmessagefor fonctionne uniquement sur les prix.
J'espère que je ne suis pas donnant sur quelque chose d'aussi ridicule. Merci pour l'aide!
ce qui se passe lorsque vous cliquez sur soumettre?
Si je remplir un prix, modelstate devient valide et je vais à l'index. Si je n'ai pas de remplir le prix, je vais retourner Voir(); et seul le prix donne une erreur. Le nom et le Genre ne donnez JAMAIS d'erreurs ou de faire modelstate pas valide.
Si je remplir un prix, modelstate devient valide et je vais à l'index. Si je n'ai pas de remplir le prix, je vais retourner Voir(); et seul le prix donne une erreur. Le nom et le Genre ne donnez JAMAIS d'erreurs ou de faire modelstate pas valide.
OriginalL'auteur whodares | 2012-09-10
Vous devez vous connecter pour publier un commentaire.
Retourner le modèle invalide de la vue:
Oh, et assurez-vous que l'attribut obligatoire est de rejeter des chaînes vides
http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.requiredattribute.allowemptystrings.aspx
Voir ma mise à jour
Impossible de résoudre le symbole AllowEmptyStrings est l'erreur que je suis actuellement. Mon Resharper n'est pas de me pointer à un manque de références ou est-il surplombant quelque chose?
Quelle est la version de la MVC? Si c'est 1 ou 2, vous pourriez avoir à écrire une validation personnalisée attribut pour ce.
Je travaille dans ASP.NET MVC 4.
OriginalL'auteur asawyer