Comment puis-je centraliser modelstate de validation asp.net mvc à l'aide de filtres d'actions?

J'écris ce code dans plusieurs endroits et toujours répéter cette logique:

public ActionResult MyMethod(MyModel collection)
{
    if (!ModelState.IsValid)
    {
        return Json(false);//to read it from javascript, it's always equal
    }
    else
    {
        try
        {
            //logic here
            return Json(true);//or Json(false);
        }
        catch
        {
            return Json(false);//to read it from javascript, it's always equal
        }
    }
}

Est-il de toute façon à l'aide de filtres d'actions, à ne pas répéter les try-catch, demander si le modèle est valide et return Json(false) comme ActionResult?

Oui, absolument, vous pouvez créer une validation ActionFilter ou un ExceptionFilter de rattraper toutes les erreurs, mais pourquoi dans le monde, faites-vous un try...catch ici? De lever des exceptions à partir de quelque chose comme la validation est tout simplement faux. Ce genre d'erreurs sont en attendez-vous? Également de retour Json(true) ou Json(false) est mal, c'est ce que les codes d'état Http.
Je pourrais répondre, mais tout ce que vous avez besoin est déjà tapé ici: lostechies.com/jimmybogard/2013/12/19/... ou vous pouvez regarder une vidéo de l'techniques de viddler.com/v/b568679c
oui, le si doit à l'extérieur de la try-catch, outre le fait que retourner une Json (true) est mal, merci

OriginalL'auteur MaicolBen | 2014-02-09