Question

J'ai un élément de modèle

public class EntryInputModel
{
    ...

    [Required(ErrorMessage = "Description is required.", AllowEmptyStrings = false)]
    public virtual string Description { get; set; }
}

et une action de contrôleur

public ActionResult Add([Bind(Exclude = "Id")] EntryInputModel newEntry)
{
    if (ModelState.IsValid)
    {
        var entry = Mapper.Map<EntryInputModel, Entry>(newEntry);

        repository.Add(entry);
        unitOfWork.SaveChanges();
        return RedirectToAction("Details", new { id = entry.Id });
    }
    return RedirectToAction("Create");
}

Quand je crée un EntryInputModel dans un test unitaire, définissez la propriété Description à null et le transmettre à la méthode d'action, je reçois toujours ModelState.IsValid == true, même si je déboguée et vérifié que newEntry.Description == null.

Pourquoi pas ce travail?

Était-ce utile?

La solution

Ceci est parce que la liaison modèle ne se fait pas lorsque vous invoquez une action d'un test. Modèle de liaison est le processus de mappage de formulaire affiché valeurs à un type et à le transmettre en tant que paramètre à une méthode d'action.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top