ASP.NET MVC3急切的客户端验证,FluentHTML和嵌套的ViewModel
||
我正在使用FluentHTML(来自MvcContrib)来布局HTML标记。我想使用jquery.validate库提供的渴望的,不引人注意的客户端验证。除了嵌套的ViewModels的属性之外,我一切正常。例:
public class RegisterPageViewModel
{
[Required(ErrorMessage = \"First Name cannot be empty.\")]
public string FirstName { get; set; }
[Required(ErrorMessage = \"Last Name cannot be empty.\")]
public string LastName { get; set; }
[Required(ErrorMessage = \"Email cannot be empty.\")]
[RegularExpression(@\"^\\w+([-+.\']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$\", ErrorMessage = \"Invalid Email Format.\")]
public string Email { get; set; }
[Required(ErrorMessage = \"Password field cannot be empty.\")]
[DataType(DataType.Password)]
public string Password { get; set; }
[Required(ErrorMessage = \"You have to confirm your password.\")]
[Compare(\"Password\", ErrorMessage = \"Passwords must match.\")]
[DataType(DataType.Password)]
public string PasswordConfirm { get; set; }
[Required]
public AddressDto Address { get; set; }
public bool TermsOfUse { get; set; }
[Required(ErrorMessage = \"Nickname is required\")]
public string Nickname { get; set; }
public string MiddleName { get; set; }
[Required(ErrorMessage = \"Birthdate is required\")]
public string Birthdate { get; set; }
public string Phone { get; set; }
[Required(ErrorMessage = \"Mobile number is required\")]
public string Mobile { get; set; }
public string RakimMelieh { get; set; }
public string ReferralNickname { get; set; }
}
尽管我还用验证属性修饰了AddressDto
的属性,但它对所有属性都非常适用,除了Address
属性内部的那些属性之外:
public class AddressDto
{
public int Id { get; set; }
[Required(ErrorMessage = \"Address Name is required.\")]
public string Name { get; set; }
public string Country { get; set; }
public string District { get; set; }
public string City { get; set; }
public string Area { get; set; }
[Required(ErrorMessage = \"Address Details are required.\")]
public string Details { get; set; }
public bool IsDefault { get; set; }
}
其他视图模型以及内部嵌套视图模型的情况也一样。我在检查输入字段FireBug时注意到的一件事是,即使它们不是真的有效(根据装饰其属性的注释),它们也始终具有valid
类。
有什么想法可以解决这个问题吗?
没有找到相关结果
已邀请:
0 个回复