现在我想用linq to sql 作数据层, 遇到一个问题是: 想对实体字段进行一些限制, 虽然可以直接在 linq 生成的类中改, 但一改变了linq实体,里面加的就会被清除. 在网上也搜到了一个方法,像这样用,不过好像没有进到这里,还是直接通过了具体的要怎么弄的呢,是不是命名空间的问题,还是有其它的方法?
是否要注册什么容器的
namespace WEBUHD.validate
{
public class CompanyValidate
{
[Required(ErrorMessage = "公司別不能為空")]
[MaxLength(20, ErrorMessage = "長度不能大於20")]
public string CompanyName { get; set; }
[Required(ErrorMessage = "地址不能為空")]
[MaxLength(20, ErrorMessage = "長度不能大於20")]
public string CompanyAdress { get; set; }
}
}
namespace WEBUHD.Models
{
[MetadataType(typeof(CompanyValidate))]
public partial class Company
{
}
}
要這樣用看看。
昨晚弄了下可以验证了, 但又出现其它的问题: 我的三部分是这样的:
当我输入中文时,插入成功, 但当我输入其它时(即不符合正则表达式的字符串
) 就会跳到如图的页面,错误:
输入不符合正则的字符串时,调试时没有进入上面的 addType函数了,直接出错
我想应该是如想的一样在输入框后面显示错误信息:请输入中文字符{1-15字符}的,但没有,不知为什么
@韦锦业: 问题,解决了谢谢咯
哪些验证没有起作用?页面上是怎么写的?