مقایسه مقدار اینپوت باکس با type آن در جی کویری
دوستان من یک اینپوت باکسی دارم بصورت زیر
<input type="email" placeholder="example@yahoo.com" class="form-control" id="email" name="email">
می خوام مقدار وارد شده این اینپوت رو دریافت کنم و با تایپ آن یعنی type="email" مقایسه کنم که اگر طبق این تایپ واردنشده بود ارور بده البته با قرار دادن این تایپ ارور میده ولی بصورت پیشفرض هستش من می خوام متن ارور رو خودم تعیین کنم با تشکر
پاسخ هوش مصنوعی
شما می توانید از جیکویری برای دریافت مقدار اینپوت و مقایسه آن با نوع آن استفاده کنید. در اینجا یک نمونه کد برای بررسی مقدار ورودی و نمایش پیام خطا زمانی که مقدار وارد شده با نوع اینپوت مطابقت ندارد، ارایه می شود:
$(document).ready(function() {
$('#form').submit(function(event) {
var emailValue = $('#email').val();
var emailType = $('#email').attr('type');
// بررسی می کند که آیا آدرس ایمیل معتبر است
if (emailType === 'email' && !isValidEmail(emailValue)) {
event.preventDefault(); // جلوگیری از ارسال فرم
alert('لطفاً یک آدرس ایمیل معتبر وارد کنید!'); // پیام خطای سفارشی
}
});
// تابعی برای اعتبارسنجی آدرس ایمیل
function isValidEmail(email) {
var emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailPattern.test(email);
}
});
در این کد:
- با استفاده از
$('#form').submit(...)
رویداد ارسال فرم را کنترل می کنیم. - مقدار ورودی ایمیل را با
$('#email').val()
می گیریم. - نوع اینپوت را با
$('#email').attr('type')
دریافت می کنیم. - اگر مقدار وارد شده با الگوی آدرس ایمیل مطابقت نداشت، فرم ارسال نمی شود و یک پیام خطا نمایش داده می شود.
اگر پروژه شما با 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.
در عبارت بالا هم توسط عبارات باقاعده این اعتبار سنجی در سمت کلاینت انجام میشه.
برای کسب اطلاعات بیشتر هم میتونید به این لینک مراجعه کنید.
موفق باشید
ممنون از پاسختون ولی من فراموش کردم بگم که از مودال استفاده کردم از هیچ کدام از این موارد نمیشه استفاده کرد اگر راهی هست برای مودال لطفا راهنمایی کنید
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- حذف فایلها و دستورات Css و JavaScript اضافی
- دلیل خطای Identifier 'X' has already been declared در جی کویری چیست ؟
- نمایش پیغام گرافیکی با جی کویری
- تفاوت Class Component و Functional Component در React.js چیست ؟
- دریافت کمترین و بیشترین مقدار با پلاگین ui-jquery
- وارد کردن فقط حروف انگلیسی در تکست باکس در html
- وارد کردن شکل صحیح ایمیل و شماره تماس با جی کویری
- ارسال اطلاعات با استفاده از ایجکس به همراه پارامتر
- مخفی کردن ستون در table در html
- آپلود همزمان چند فایل توسط جی کویری