我得到以下錯誤:ASP.NET MVC3驗證類型名稱錯誤
Validation type names in unobtrusive client validation rules must be unique. The following validation type was seen more than once: required
我不知道爲什麼,我看了一下自定義驗證和ninject一些東西,但我不認爲這是。
我正在創建一個自定義帳戶管理系統,管理員可以在其中創建/編輯用戶。我正在使用ASP.NET Membership, Role, Profile
。當你用Internet
創建一個新的應用程序時,它會創建所有帳戶的東西。我所要做的只是重複使用在AccountManagement
Area
中提供的RegisterModel
。但是,然後錯誤開始出現,我沒有任何自定義驗證提供程序或任何東西。錯誤/異常也出現在Account
Views
(MVC模板創建的錯誤/異常)中。
錯誤發生在這條線的看法:
<div class="editor-label">
@Html.LabelFor(model => model.User.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.User.UserName) <!-- THIS LINE -->
@Html.ValidationMessageFor(model => model.User.UserName)
</div>
我的模型是一個ViewModel
類的屬性:
public RegisterModel User {get;set;}
我已經寫了這整個網站用的方式沒有問題除了剛剛重新使用RegisterModel
之外,我做了任何事情。從那以後,我嘗試創建一個全新的Model
,名爲NewUserModel
,並且僅僅在Area
中引用這個結果無濟於事。
我使用DependencyResolver
來使用Ninject
作爲我的IoC/DI。我無法想象這是個問題....
型號:
namespace MyApplication.Areas.AccountManagement.Models
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
public class NewUserModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
[Required, RegularExpression(@"[0-9]{8}", ErrorMessage = "Please enter in an 8 digit Intel Worldwide Id")]
[Display(Name = "WWID")]
public string WWID { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[System.Web.Mvc.Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
}
你是否多次包括'jquery.validate.unobtrusive.js'? –
RegisterModel是什麼樣的?你可以使用EditorFor而不是TextBoxFor? –
錯誤是例外,還是顯示在控制檯或...? –