ASP.NET MVC: надежная проверка не работает
В этой теме я получил совет использовать FoolProof для решения моей проблемы. Вот что я сейчас пытаюсь сделать. Но все же я не смог найти причину, по которой Foolproof не работает в моем проекте. Поэтому я дам вам представление о том, как я включил в него Foolproof, модель и как я добавил Foolproof в комплекте, так что, возможно, кто-то из вас увидит мою ошибку.
Посмотреть:
@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"));
}
Модель:
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; }
Итак, проблема в том, что, если я подам заявку таким образом, приложения будут работать без ошибок, но в этот момент не произойдет проверка, поэтому я был бы благодарен за любую помощь!:)
1 ответ
В BundleConfig замените последний пакет, который вы добавили
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"));
При установке пакета Foolproof файлы js находятся в папке "Сценарии клиента", а не в папке "Сценарии".