نمایش نتایج 1 تا 4 از 4

نام تاپیک: Validation

  1. #1
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    کرج
    پست
    319

    Validation

    سلام
    من یک input از نوع text دارم که می خوام هر وقت خالی بود پیغام بده که " لطفا نام را وارد کنید " که این کار رو با استفاده از دستور زیر انجام میدم و درست کار میکنه:

    [Required(ErrorMessage="نام را وارد کنید")]

    حالا می خوام هر وقت یک مقدار خاص مثلا مقدار 0 (صفر) را هم وارد کرد همین پیغام دیده شود برای اینکار باید چکار کنم؟
    لطفا کمکم کنید.

  2. #2
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: Validation

    سلام ... راههای مختلفی برای اعتبارسنجی وجود داره که راه ساده ی اون ModelState هست و اضافه کردن ارور با استفاده از AddModelError داخل اکشن متود مربوطه ...

    راه پیشرفته => نوشتن اعتبارسنج سفارشی :

    ابتدا کلاسی را پیاده سازی کنید که از کلاس ValidationAttribute ارث بری داشته باشد و متود IsValid آن را override کنید :
    طبق درخواست شما :
        public class NotZeroAttribute : ValidationAttribute
    {
    public NotZeroAttribute()
    {
    ErrorMessage = "Please enter your input expect zero";
    }

    public override bool IsValid(object value)
    {
    if(value.ToString() == "0")
    return false;
    return true;
    }

    }


    و مانند صفت Required میتونید استفاده کنید :

    public class Person
    {
    [NotZero(ErrorMessage = "صفر وارد نکنید")]
    [Required(ErrorMessage = "نام را وارد کنید")]
    public string Name { get; set; }
    public int Age { get; set; }
    }


    اکشن های مربوطه :

    [HttpGet]
    public ActionResult CreatePerson()
    {
    return View(new Person());
    }
    [HttpPost]
    public ActionResult CreatePerson(Person person)
    {
    if(ModelState.IsValid)
    {
    return RedirectToAction("Index");
    }
    return View();


    }


    موفق باشید ...

  3. #3

    نقل قول: Validation

    میتونی از Regular Expression هم استفاده کنی که فقط کاراکتر قبول کنه
    [RegularExpression(@"[a-zA-Z][a-zA-Z\s]+", ErrorMessage = "لطفا فقط کاراکتر وارد نمایید.")]

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    38

    نقل قول: Validation

    میشود از jquery هم استفاده کرد.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •