كنترل Custom validator

Custom validator

 

 

از آن زماني مي شود استفاده كرد كه بخواهيم اعتبارسنجي خارج از كليه اعتبارسنجي هاي ديگرانجام دهيم اين كنترل قادر است اعتبارسنجي خود را در دو طرف سرور و يا كلاينت انجام دهد.

اعتبارسنجي طرف سرور

 

 

فرض كنيد مي خواهيم عددي را از كاربر دريافت كرده و بررسي كنيم بر 5 بخش پذير است يا نه، پس از اتصال اين كنترل به تكست باكس بر روي رويداد server validate دوبار كليك كرده كدي شبيه زير را وارد مي كنيم:

try

        {

            int x = Convert.ToInt32(args.Value);

            args.IsValid = (x % 5 == 0);

        }

        catch (Exception)

        {

            args.IsValid = false;

        }

 

 

در كد فوق از آرگومان يا پارامتري به نام Args استفاده كرديم اين پارامتر توسط خود رويداد در اختيار قرار مي گيرد و دو خاصيت مهم دارد:

الف) value: متن موجود در تكست باكس وابسته را برمي گرداند.

ب) IsValid: باعث نامعتبر و معتبر شدن page مي شود.

 حال بايد در رويداد كليك دكمه اي كه اطلاعات را به سرور منتقل كرده در خط اول آن كد زير را وارد كنيم:

if (Page.IsValid == false) return;

 

بررسي طرف كلاينت

 

 

فرض كنيد مي خواهيم بررسي كنيم كه عدد وارد شده بر 5 بخش پذير است يا نه و اين كار را فقط طرف كلاينت انجام دهيم از اين رو دستورات زير را در صفحه aspx وارد مي كنيم:

 

<script type=”text/javascript”>

        function myValidation(s, a) {

            try {

                var x = parseInt(a.value);

                a.IsValid = (s % 5 == 0);

            } catch (e) {

                a.IsValid = false;

            }

        }

    </script>

 

 

حال بايد نام تابع را كه در اينجا myValidation تعريف كرديم به خاصيت Client Validation Function نسبت دهيم.

دیدگاه ها بسته شده است