MVC3 jQuery - teilweise Überprüfung

  • Ich habe ein Formular, in das ein Benutzer zwei Datentypen eingibt: 1. Projektdetails 2. Umfragefragen im Zusammenhang mit dem Projekt

    Das Formular hat 2 Senden-Schaltflächen 1. Entwurf speichern 2. Senden

    Der Beitrag "Entwurf speichern" muss nur die Projektdetails und keine Umfragefelder überprüfen. Der Beitrag "Senden" sollte sowohl Projekt- als auch Umfragedaten überprüfen.

    Gibt es eine Möglichkeit, Daten teilweise zu bestätigen, wenn der Benutzer auf "Entwurf speichern" klickt? Behandeln Sie möglicherweise den "Save Draft" -Klick und ignorieren / entfernen Sie die Validierung für die Umfragefelder ...

    22 November 2011
    user1058895
1 answer
  • Sie können eine teilweise Überprüfung mit einem Aktionsfilterattribut durchführen. Sie können möglicherweise an Ihre Bedürfnisse anpassen. Sie haben Zugriff auf die Anforderung und den Modellstatus. Mit Zugriff auf den Modellstatus können Sie die Validierungsfehler ändern.

     public class ValidateDraftAttribute : ActionFilterAttribute 
    {  
      public override void OnActionExecuting(ActionExecutingContext filterContext)
      {
    
         var modelState = filterContext.Controller.ViewData.ModelState;
         var incomingValues = filterContext.Controller.ValueProvider;
    
          modelState[key].Errors.Clear();
    
      }
    }
     

    Das Attribut wird dann zur Steuerung hinzugefügt .

    22 November 2011
    Dallas