RIG000
شنبه 19 مهر 1393, 23:45 عصر
سلام. من از dbfirst استفاده میکنم. گاهی فیلد های جدولم رو تو دی بی تغییر میدم . حالا میام تو updatemodel میکنم تا وارد شه . اما یه مشکلی هست که من اگه validation رو پروپرتی هام داشته باشم
مثل
public int PersonId { get; set; }
[Required(ErrorMessage = "نام کاربری را وارد کنید")]
public string PersonUserName { get; set; }
[Required(ErrorMessage = "پسورد را وارد کنید")]
[DataType(DataType.Password)]
public string PersonPassword { get; set; }
public string PersonDate { get; set; }
[Required(ErrorMessage = "ایمیل را وارد کنید")]
//[DataType(DataType.EmailAddress)]
//[RegularExpression(@"[A-Za-z0-9._%+-]+[A-Za-z0-9.-]+\.[A-Za-z] {2,4}", ErrorMessage = "ایمیل را درست وارد کنید")]
[RegularExpression(@"^([0-9a-zA-Z]([\+\-_\.][0-9a-zA-Z]+)*)+@(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z0-9]{2,3})$", ErrorMessage = "ایمیل را درست وارد کنید")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required(ErrorMessage = "موبایل را وارد کنید")]
[MinLength(10, ErrorMessage = "تعداد کاراکتر کمتر از حد مجاز است")]
[MaxLength(10, ErrorMessage = "تعداد کاراکتر بیشتر از حد مجاز است")]
[RegularExpression(@"^(?:0)?9\d{9,}$", ErrorMessage = "لطفا یک موبایل معتبر وارد کنید")]
public string Mobile { get; set; }
public virtual ICollection<Message> Messages { get; set; }
public virtual ICollection<ProductSale> ProductSales { get; set; }ب
بعد update کل اینا پاک میشه .
یک راه رو میدونم میشه بجا اینا رفت جی کوری کار کرد که نمیخام جی کار کنم .
یه راه دیگه هم هست که خودم برم یه کلاس validate بسازم که واقعا برای من زمان گیره .
یا اینکه یه کلاس بسازم و پروپتی های کلاس مدل رو تو این کلاس بریزم و سپس ولی دیت رو رو این کلاس اعما کنم و اون کلاس همون جوری بمونه . حالا اپدیتم کردمش کلاس مدل رو دوباره پروپر تی های جدید رو به این اضافه میکنم. اینجوری چطوره ؟:) میشه اینجوری؟
مثل
public int PersonId { get; set; }
[Required(ErrorMessage = "نام کاربری را وارد کنید")]
public string PersonUserName { get; set; }
[Required(ErrorMessage = "پسورد را وارد کنید")]
[DataType(DataType.Password)]
public string PersonPassword { get; set; }
public string PersonDate { get; set; }
[Required(ErrorMessage = "ایمیل را وارد کنید")]
//[DataType(DataType.EmailAddress)]
//[RegularExpression(@"[A-Za-z0-9._%+-]+[A-Za-z0-9.-]+\.[A-Za-z] {2,4}", ErrorMessage = "ایمیل را درست وارد کنید")]
[RegularExpression(@"^([0-9a-zA-Z]([\+\-_\.][0-9a-zA-Z]+)*)+@(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]*\.)+[a-zA-Z0-9]{2,3})$", ErrorMessage = "ایمیل را درست وارد کنید")]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required(ErrorMessage = "موبایل را وارد کنید")]
[MinLength(10, ErrorMessage = "تعداد کاراکتر کمتر از حد مجاز است")]
[MaxLength(10, ErrorMessage = "تعداد کاراکتر بیشتر از حد مجاز است")]
[RegularExpression(@"^(?:0)?9\d{9,}$", ErrorMessage = "لطفا یک موبایل معتبر وارد کنید")]
public string Mobile { get; set; }
public virtual ICollection<Message> Messages { get; set; }
public virtual ICollection<ProductSale> ProductSales { get; set; }ب
بعد update کل اینا پاک میشه .
یک راه رو میدونم میشه بجا اینا رفت جی کوری کار کرد که نمیخام جی کار کنم .
یه راه دیگه هم هست که خودم برم یه کلاس validate بسازم که واقعا برای من زمان گیره .
یا اینکه یه کلاس بسازم و پروپتی های کلاس مدل رو تو این کلاس بریزم و سپس ولی دیت رو رو این کلاس اعما کنم و اون کلاس همون جوری بمونه . حالا اپدیتم کردمش کلاس مدل رو دوباره پروپر تی های جدید رو به این اضافه میکنم. اینجوری چطوره ؟:) میشه اینجوری؟