Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 4 软件包id=”文件包id;DataAnnotationsExtensions.MVC3“;版本=";“1.1.0.0”;targetFramework=";net45";_Asp.net Mvc 4_Data Annotations - Fatal编程技术网

Asp.net mvc 4 软件包id=”文件包id;DataAnnotationsExtensions.MVC3“;版本=";“1.1.0.0”;targetFramework=";net45";

Asp.net mvc 4 软件包id=”文件包id;DataAnnotationsExtensions.MVC3“;版本=";“1.1.0.0”;targetFramework=";net45";,asp.net-mvc-4,data-annotations,Asp.net Mvc 4,Data Annotations,我对MVC4中的上述软件包有疑问。即使按下按钮发布数据,验证也不会触发。唯一激发的是来自DataAnnotationsExtensions命名空间的,只有在我尝试提交数据后才包含Required和Email属性 下面是我用于LogOnModel的代码,它在MVC 3下运行良好: public class LogOnModel { [Required(ErrorMessageResourceType = typeof(YeagerTechResources.Resour

我对MVC4中的上述软件包有疑问。即使按下按钮发布数据,验证也不会触发。唯一激发的是来自DataAnnotationsExtensions命名空间的,只有在我尝试提交数据后才包含Required和Email属性

下面是我用于LogOnModel的代码,它在MVC 3下运行良好:

public class LogOnModel 
    { 
        [Required(ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "Required")] 
        [StringLength(50, ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "MinLength6")] 
        [Display(Name = "Username", ResourceType = typeof(YeagerTechResources.Resources))] 
        public string UserName { get; set; } 

        [Required(ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "Required")] 
        [DataType(DataType.EmailAddress)] 
        [Email(ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "Email")] 
        public string Email { get; set; } 

        [Required(ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "Required")] 
        [StringLength(50, ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "MinLength6")] 
        [DataType(DataType.Password)] 
        [Display(Name = "Password4", ResourceType = typeof(YeagerTechResources.Resources))] 
        public string Password { get; set; } 

        [Display(Name = "AcctRemember", ResourceType = typeof(YeagerTechResources.Resources))] 
        public bool RememberMe { get; set; } 
    } 
这是作者的网站:以及他对另一位用户的回复(日期为2012年8月10日)“我已经测试过,当前的NuGet软件包在MVC4中可以很好地工作,同时使用.NET4.0和4.5。”

下面是我在母版页中脚本的设置:

<head> 
    <title>@ViewBag.Title</title> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/kendo/2012.2.710/kendo.common.min.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/kendo/2012.2.710/kendo.dataviz.min.css")" rel="stylesheet" type="text/css" /> 
    <link href="@Url.Content("~/Content/kendo/2012.2.710/kendo.blueopal.min.css")" rel="stylesheet" type="text/css" /> 
    <script src="~/Scripts/jquery-1.7.1.min.js"></script> 
    <script src="~/Scripts/jquery.validate.min.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> 
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 
    <script src="~/Scripts/modernizr-2.5.3.js"></script> 
    <script src="~/Scripts/kendo/2012.2.710/kendo.web.min.js"></script> 
    <script src="~/Scripts/kendo/2012.2.710/kendo.aspnetmvc.min.js"></script> 
    <script src="@Url.Content("~/Scripts/kendo/2012.2.710/jquery.min.js")"></script> 
    <script src="@Url.Content("~/Scripts/kendo/2012.2.710/kendo.all.min.js")"></script> 
    <script type="text/javascript"> 
        $(document).ready(function () 
        { 
            $("#editor-field").css("border", "2px solid #f00"); 
            var strErrCode = '@TempData["ErrCode"]'; 
            switch (strErrCode) 
            { 
                case 'CustView': 
                    alert('@(Resources.CustViewErr)'); 
                    break; 
                case 'CustErr': 
                    alert('@(ViewBag.Error)'); 
                    break; 
                default: 
                    { 
                        if (strErrCode != "") 
                            alert(strErrCode); 
                    } 
                    break; 
            } 
        }); 
    </script> 
    <script> 
        function error_handler(e) 
        { 
            if (e.errors) 
            { 
                var message = "Errors:\n"; 
                $.each(e.errors, function (key, value) 
                { 
                    if ('errors' in value) 
                    { 
                        $.each(value.errors, function () 
                        { 
                            message += this + "\n"; 
                        }); 
                    } 
                }); 
                alert(message); 
            } 
        } 
    </script> 
</head> 

@视图包。标题
$(文档).ready(函数()
{ 
$(“#编辑器字段”).css(“边框”,“2px实体#f00”);
var strErrCode='@TempData[“ErrCode”]';
开关(strErrCode)
{ 
案例“CustView”:
警报(“@(Resources.CustViewErr)”;
打破
“卡斯特”一案:
警报(“@(ViewBag.Error)”;
打破
违约:
{ 
如果(strErrCode!=“”)
警报(strErrCode);
} 
打破
} 
}); 
函数错误\u处理程序(e)
{ 
如果(如错误)
{ 
var message=“错误:\n”;
$。每个(例如错误、函数(键、值)
{ 
如果(值中的“错误”)
{ 
$.each(value.errors,函数()
{ 
消息+=此+“\n”;
}); 
} 
}); 
警报(信息);
} 
} 

任何帮助都将不胜感激。。。。我已经死在水里了,没有其他地方可转了……

底线是以下所有工作都与DataAnnotationExtensions&ExtensionsDataAnnotations.ClientValidation DLL一起进行

但是,Min&Maxlength数据注释在MVC4中不再有效!它快把我逼疯了

[Required(ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "Required")]
         [StringLength(50, ErrorMessageResourceType = typeof(YeagerTechResources.Resources), ErrorMessageResourceName = "MinMaxLength", MinimumLength = 6)]
         //[StringLength(10, MinimumLength = 2)]
         //[Range(1, 100)]
         //[Min(3)]
         //[MinLength(2, ErrorMessage = "Name must be more than 5 characters")]
         //[MaxLength(5, ErrorMessage = "Name must be more than 5 characters")]
         [Display(Name = "Username", ResourceType = typeof(YeagerTechResources.Resources))]

使用正则表达式验证整数

[RegularExpression("^[0-9]*$", ErrorMessage = "The number must be an integer")]
public int Number {get; set;} 
我确实认为这是解决问题的最简单方法