دسته بندی ها
12:16 1398/08/18

مقایسه مقدار اینپوت باکس با type آن در جی کویری

مشخصات سوال کننده :
کاربر : sunboy     امتیاز کاربر : 14     رتبه کاربر : 49
دسته بندی : جی کوئری

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3362
پاسخ دهنده : hamid_b 22:22 1398/08/18

اگر پروژه شما با Asp.net mvc و یا Asp.net core هست که می تونید اعتبارسنجی Input ها رو سمت سرور هم انجام بدید. برای این منظور و برای کنترل فرمت صحیح ایمیل میتونید در Model خودتون از دستورات زیر استفاده کنید

 

  
        [Display(Name = "ایمیل")]
        [Required(AllowEmptyStrings = false, ErrorMessage = "لطفا ایمیل را وارد کنید.")]
        [RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", ErrorMessage = "لطفا ایمیل را صحیح وارد کنید.")]
        public string Email { get; set; }

 

در دستور بالا فیلد Email توسط عبارات باقاعده یا Regular Expression ها اعتبار سنجی میشه و در قسمت View یا UI پروژه هم می تونید از دستور زیر استفاده کنید.

     <!--Email-->
                    <div class="form-group">
                        <label asp-for="Email" class="control-label"></label>
                        <div>
                            <input asp-for="Email" id="Email" type="text" class="form-control"  placeholder="ایمیل خود را با دقت وارد نمایید ..." />
                        </div>
                        <span asp-validation-for="Email" class="alert alert-danger"></span>
                    </div>

 

با این دستورات اگر کاربر موقع ورود اطلاعات ایمیل رو با فرمتی اشتباه وارد کنه خطا خواهد گرفت.

اما اگر هدف شما این هست که فقط توسط دستورات جی کوئری این اعتبارسنجی رو انجام بدید میتونید وقتی فرم داره به سمت سرور submit میشه و یا در رویداد onChange مربوط به input ایمیل از دستور زیر استفاده کنید

 

var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
if (testEmail.test(valueToTest))
    // Do whatever if it passes.
else
    // Do whatever if it fails.

 

در عبارت بالا هم توسط عبارات باقاعده این اعتبار سنجی در سمت کلاینت انجام میشه.

برای کسب اطلاعات بیشتر هم میتونید به این لینک مراجعه کنید.

موفق باشید

ویرایش شده در شنبه 18 آبان 1398 ساعت 22:22:40
به این پاسخ امتیاز بدهید    0
امتیاز: 510 رتبه: 4
پاسخ دهنده : sunboy 09:19 1398/08/22

ممنون از پاسختون ولی من فراموش کردم بگم که از مودال استفاده کردم از هیچ کدام از این موارد نمیشه استفاده کرد اگر راهی هست برای مودال لطفا راهنمایی کنید

به این پاسخ امتیاز بدهید    0
امتیاز: 14 رتبه: 49
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود