2016-10-06 3 views
0

In diesem thread habe ich den Rat, FoolProof zu verwenden, um mein Problem zu lösen. Das versuche ich gerade jetzt. Aber ich konnte nicht den Grund finden, warum Foolproof in meinem Projekt nicht funktioniert. Also werde ich dir die Sichtweise geben und wie ich Foolproof dort eingebaut habe, das Model und wie ich Foolproof als Bundle hinzugefügt habe, damit vielleicht jemand von euch meinen Fehler sieht.ASP.NET MVC: Toolproof Validation funktioniert nicht

Ausblick:

@section Scripts { 
     @Scripts.Render("~/bundles/jqueryval") 
     @Scripts.Render("~/bundles/mvcfoolproof") 
      } 

BundleConfig:

public static void RegisterBundles(BundleCollection bundles) 
     { 
      bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
         "~/Scripts/jquery-{version}.js")); 

      bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
         "~/Scripts/jquery.unobtrusive*", 
         "~/Scripts/jquery.validate*")); 

      bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
         "~/Scripts/jquery-ui-{version}.js")); 

      bundles.Add(new ScriptBundle("~/bundles/datatables").Include(
         "~/Scripts/DataTables/jquery.dataTables.js")); 

      bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
         "~/Scripts/modernizr-*")); 

      bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
         "~/Scripts/bootstrap.js", 
         "~/Scripts/respond.js")); 

      bundles.Add(new StyleBundle("~/Content/css").Include(
         "~/Content/bootstrap.css", 
         "~/Content/site.css", 
         "~/Content/jquery-ui.css", 
         "~/Content/dataTables.css")); 

      bundles.Add(new ScriptBundle("~/bundles/mvcfoolproof").Include(
        "~/Scripts/MicrosoftAjax.js", 
        "~/Scripts/MicrosoftMvcAjax.js", 
        "~/Scripts/MicrosoftMvcValidation.js", 
        "~/Scripts/MvcFoolproofJQueryValidation.min.js", 
        "~/Scripts/MvcFoolproofValidation.min.js", 
        "~/Scripts/mvcfoolproof.unobtrusive.min.js")); 

     } 

Modell:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using Foolproof; 

public int CustomerID {get; set;} 
public bool ValRequired {get; set;} 
[RequiredIfTrue("ValRequired")] 
public string NameofCustomer { get; set; } 

Also, das Problem ist, wenn ich so anzuwenden, dass die Anwendungen laufen ohne Fehler, aber keine Validierung springt an dieser Stelle ein, also wäre ich dankbar für jede Art von Hilfe! :)

+0

Bitte geben Sie den Controllercode ein. –

+0

Es ist nur '' - löschen Sie alle anderen von Ihnen 'mvcfoolproof' Bundle –

+0

Hallo, vielen Dank für Ihre schnelle Antwort. Meinst du, es muss so aussehen: bundles.Add (new ScriptBundle ("~/bundles/mvcfoolproof"). Include ( "~/Client Scripts/mvcfoolproof.unobtrusive.min")); ? – RawMVC

Antwort

1

Im BundleConfig, das letzte Bündel you've hinzugefügt ersetzen durch

bundles.Add(new ScriptBundle("~/bundles/mvcfoolproof").Include(
      "~/Client Scripts/mvcfoolproof.unobtrusive.js", 
      "~/Client Scripts/mvcfoolproof.unobtrusive.min.js", 
      "~/Client Scripts/MvcFoolproofJQueryValidation.js", 
      "~/Client Scripts/MvcFoolproofJQueryValidation.min.js", 
      "~/Client Scripts/MvcFoolproofValidation.js", 
      "~/Client Scripts/MvcFoolproofValidation.min.js")); 

Wenn Sie das harmlose Paket die js Installationsdateien in Client-Scripts-Ordner befinden, nicht in Ordner Scripts.

+0

Es ist erwähnenswert, dass, wenn Sie alle Dateien enthalten, Sie sowohl die vollständige als auch die verkleinerte Versionen von allen enthalten. Das führt zu doppeltem Code und einem viel größeren Paket. Sie sollten nur alle .min.js-Dateien oder solche ohne. – SuneRadich

Verwandte Themen