کتابخانه‌ی استاندارد · شبکه

اعتبارسنجی net/http/validate

بررسی ورودی فرم‌ها و پاسخ خطای ۴۰۰.

واردسازی شبکه.اچ تی تی پی شبکه.اعتبارسنجی
در این صفحه
  1. روال‌ها

روال‌های این بسته یک مقدار را بررسی می‌کنند و درست یا نادرست برمی‌گردانند. ادعا اگر شرط برقرار نباشد، پاسخ ۴۰۰ با پیام جیسون می‌فرستد؛ پس از آن گرداننده نباید پاسخ دیگری بنویسد.

روال‌ها

الزامی Required

روال الزامی(value: رشته): منطقی
اگر مقدار خالی نباشد، درست برمی‌گرداند؛ فاصله هم مقدار حساب می‌شود.
net-http-validate-Check.salam
واردسازی شبکه.اچ تی تی پی شبکه
واردسازی شبکه.اچ تی تی پی شبکه.اعتبارسنجی
واردسازی شبکه.مسیریاب شبکه

روال نام‌نویسی(ز: صحیح۶۴):
    ایمیل := اچ تی تی پی شبکه.فرم زمینه(ز، "email")
    اعتبارسنجی.ادعا(ز، اعتبارسنجی.ایمیل است(ایمیل)، "invalid email")
    اگر اعتبارسنجی.ایمیل است(ایمیل):
        اچ تی تی پی شبکه.متن زمینه(ز، "خوش آمدید")
    پایان
پایان

روال ریشه:
    سرچاپ اعتبارسنجی.الزامی("")، اعتبارسنجی.الزامی("  ")، اعتبارسنجی.الزامی("علی")
    سرچاپ اعتبارسنجی.طول("سلام"، ۲، ۵)، اعتبارسنجی.طول("سلام دنیا"، ۲، ۵)
    سرچاپ اعتبارسنجی.ایمیل است("[email protected]")، اعتبارسنجی.ایمیل است("ali@")
    سرچاپ اعتبارسنجی.تطابق دارد("09121234567"، "^09[0-9]{9}$")، اعتبارسنجی.تطابق دارد("12345"، "^09[0-9]{9}$")
    ناپایا م := مسیریاب شبکه.مسیریاب جدید()
    مسیریاب شبکه.ارسال(م، "/signup"، نام‌نویسی)
    ناپایا س := اچ تی تی پی شبکه.سرور جدید(۱۹۶۰۵)
    اچ تی تی پی شبکه.استفاده(س، م)
    _ := اچ تی تی پی شبکه.اجرا در پس زمینه(س)
    ناپایا سر := اچ تی تی پی شبکه.سرصفحه جدید()
    سر.درج("Content-Type"، "application/x-www-form-urlencoded")
    بد := اچ تی تی پی شبکه.ارسال با("http://127.0.0.1:19605/signup"، "email=x"، سر)
    سرچاپ اچ تی تی پی شبکه.وضعیت(بد)، اچ تی تی پی شبکه.بدنه(بد)
    خوب := اچ تی تی پی شبکه.ارسال با("http://127.0.0.1:19605/signup"، "email=a%40b.ir"، سر)
    سرچاپ اچ تی تی پی شبکه.وضعیت(خوب)، اچ تی تی پی شبکه.بدنه(خوب)
پایان
خروجیfalse true true true false true false true false 400 {"error":"invalid email"} 200 خوش آمدید

طول Length

روال طول(value: رشته، min_len: صحیح، max_len: صحیح): منطقی
اگر تعداد نویسه‌ها میان کمینه و بیشینه باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-http-validate-Check.salam

ایمیل است IsEmail

روال ایمیل است(value: رشته): منطقی
بررسی خیلی ساده‌ی ایمیل: متن باید @ و نقطه داشته باشد. برای اطمینان، ایمیل تأیید بفرستید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-http-validate-Check.salam

تطابق دارد Matches

روال تطابق دارد(value: رشته، pattern: رشته): منطقی
اگر مقدار با عبارت باقاعده جور باشد، درست برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-http-validate-Check.salam

ادعا Assert

روال ادعا(ctx: صحیح۶۴، ok: منطقی، message: رشته)
اگر شرط نادرست باشد، پاسخ ۴۰۰ با {"error": پیام} می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: net-http-validate-Check.salam