Domanda

Ho un elemento del modello

public class EntryInputModel
{
    ...

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

ed un'azione di controllo

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");
}

Quando creo un EntryInputModel in un test di unità, impostare la proprietà Description per null e passarlo al metodo di azione, ho ancora ModelState.IsValid == true, anche se ho il debug e verificato che newEntry.Description == null.

Perché non si questo lavoro?

È stato utile?

Soluzione

Questo perché il modello di legame non avviene quando si richiama un'azione da un test. vincolante modello è il processo di mappatura pubblicato i valori della forma a un tipo e passare come parametro a un metodo di azione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top