相关疑难解决方法(0)

适用于MVC 2 beta 2的MicrosoftMvcJQueryValidation.js版本在哪里?

MicrosoftMvcJQueryValidation.js ASP.NET MVC 2用于客户端验证.

有这个文件的问题只是没有正常工作,并想知道我是否有错误的版本.

我使用的版本来自期货来源.

 MicrosoftMvcJQueryValidation.js
 5,626 bytes
 11/17/09 10:43:12am
Run Code Online (Sandbox Code Playgroud)

我认为我的版本错误有两个原因:

1)我实际上必须调用此代码才能使验证例程正常工作.这是因为现在嵌入的默认客户端验证功能FormContext.csSys.Mvc.FormValidation.enableClientValidation.

 ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation";
Run Code Online (Sandbox Code Playgroud)

2)jquery.validate.js中有一些代码可以执行以下操作:

  this.settings.errorPlacement
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter(element);
Run Code Online (Sandbox Code Playgroud)

这调用此函数MicrosoftMvcJQueryValidation.js:

 errorPlacement: function(error, element) {
        var messageSpan = fieldToMessageMappings[element.attr("name")];
        $(messageSpan).empty();
        $(messageSpan).removeClass("field-validation-valid");
        $(messageSpan).addClass("field-validation-error");
        error.removeClass("input-validation-error");
        error.attr("_for_validation_message", messageSpan);
        error.appendTo(messageSpan);
    },
Run Code Online (Sandbox Code Playgroud)

问题是元素已被jQuery.validatejQuery $(element)表达式包装.

因此element.attr("name")未定义,但element[0].attr("name")有效.

MicrosoftMvcJQueryValidation.js微软的网站上下载了期货.`

我找不到任何其他MicrosoftMvcJQueryValidation版本 - 但我敢肯定必须有一个版本.有人可以帮忙吗?

asp.net-mvc asp.net-mvc-2

5
推荐指数
1
解决办法
8681
查看次数

未创建ASP.NET MVC 2客户端验证规则

MVC没有为我的viewmodel生成客户端验证规则.HTML只包含这个:

<script type="text/javascript">
//<![CDATA[
if (!window.mvcClientValidationMetadata) { window.mvcClientValidationMetadata = []; }
window.mvcClientValidationMetadata.push({"Fields":[],"FormId":"form0","ReplaceValidationSummary":false});
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)

注意Fields[]是空的!

我的视图是强类型的,并使用新的强类型HTML帮助器(TextBoxFor()等).

查看模型/域模型

public class ItemFormViewModel
{
    public Item Item { get; set; }
    [Required] [StringLength(100)] public string Whatever { get; set; } // for demo
}
[MetadataType(typeof(ItemMetadata))]
public class Item
{
    public string Name { get; set; }
    public string SKU { get; set; }
    public int QuantityRequired { get; set; }
    // etc.
}
public class ItemMetadata
{
    [Required] [StringLength(100)] …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc asp.net-mvc-2-validation asp.net-mvc-2

3
推荐指数
1
解决办法
2807
查看次数