PDA

View Full Version : تعریف یک پیام همیشگی برای Attribute ها



jaykob
پنج شنبه 30 مرداد 1393, 12:53 عصر
سلام


من می خواهم که برای بعضی از Attribute ها مثل Required یا maxlength که در لایه ViewModel تعریف می کنم پیام هارو برای همه هی تکرار نکنم و یکبار تعریف کنم مثلا برای Required این پیام رو نمایش بده . ممنون می شم راهنمایی کنید

با تشکر

hakim22
پنج شنبه 30 مرداد 1393, 19:34 عصر
شما می توانید یک کلاس جدید تعریف کنید و متن پیغام خطا را درون آن قرار دهید :

public class FarsiRequiredAttribute:RequiredAttribute
{
public FarsiRequiredAttribute()
{
this.ErrorMessage = "الزامی است";
}
}

jaykob
شنبه 01 شهریور 1393, 12:12 عصر
سلام

خیلی ممنون . می شه برای Attribute هایی که یک مقدار متغییر دارند مثل MaxLenght بگید چطور می شه همچین کاری کرد ؟

تشکر

jaykob
یک شنبه 02 شهریور 1393, 09:32 صبح
سلام مجدد

یک سوال دیگه هم داشتم اینه که بعد از اینکه اکثر attribute هارو سفارشی کردم چطور اون کلاس رو dll کنم و راحت در پروژه های دیگه استفاده کنم ؟

ممنون

hakim22
چهارشنبه 05 شهریور 1393, 14:20 عصر
سلام

خیلی ممنون . می شه برای Attribute هایی که یک مقدار متغییر دارند مثل MaxLenght بگید چطور می شه همچین کاری کرد ؟

تشکر

فکر می کنم باید متد IsValid رو Override کنید.




می شه برای Attribute هایی که یک مقدار متغییر دارند مثل MaxLenght بگید چطور می شه همچین کاری کرد ؟


خب یک ClassLibrary جدید ایجاد کنید و رفرنس های مربوطه رو اضافه کنید.

jaykob
سه شنبه 18 شهریور 1393, 11:02 صبح
سلام

من برای StringLenght کد زیر رو پیدا کردم اما نمی دونم مقدار طول رشته رو چطور داینامیک کنم که زمانی داریم Attribute رو صدا می کنیم بشه بهش گفت مثلا 30 کاراکتر مجاز هستی بگیری :



public class MyStringLengthAttribute : StringLengthAttribute
{
public MyStringLengthAttribute() : this(20)
{
}


public MyStringLengthAttribute(int maximumLength) : base(maximumLength)
{
base.ErrorMessageResourceName = "StringLengthMessage";
base.ErrorMessageResourceType = typeof (Resource);
}
}


اون typeofResource برای چی هست ؟

لطفا راهنمایی کنید . ممنون