Comment utiliser Ajax en ASP.NET pour la validation de l'ID de l'email.
Réponses
Trop de publicités?Vous pouvez utiliser une expression régulière pour valider un courriel format . Voici un article à ce sujet. Comment trouver ou valider une adresse électronique . Vous pouvez ajouter un validateur d'expression régulière et définir l'expression régulière requise.
Si vous cherchez à valider un courriel (existe ou n'existe pas), il n'y a pas d'autre moyen que d'envoyer le courriel et de vérifier s'il rebondit.
Voici un autre article pour .net y à propos du validateur d'expressions régulières
Veuillez m'expliquer davantage si je me trompe.
Puisque vous ne donnez pas de cas précis. Je vais donc vous faire part de l'extrait de code de ma page d'enregistrement. Voici comment j'utilise ajax pour vérifier si une adresse email a été enregistrée.
sur la page register.aspx :
<asp:UpdatePanel ID="UpdatePanel_CheckEmail"
UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:Label ID="LblEmail" AssociatedControlID="TxtEmail"
runat="server">
<span>*</span>Email:
</asp:Label>
<!-- Server side validation -->
<asp:TextBox ID="TxtEmail"
ontextchanged="TxtEmail_TextChanged"
AutoPostBack="true" runat="server" />
<small>
<asp:Literal ID="LblEmailStatus" runat="server" Text="" />
</small>
<!-- Client side validation -->
<asp:RegularExpressionValidator ID="TxtEmailRegEx" runat="server"
ErrorMessage="Enter a valid email address to sign up"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
ControlToValidate="TxtEmail" />
</ContentTemplate>
</asp:UpdatePanel>
sur register.aspx.cs :
protected void TxtEmail_TextChanged(object sender, EventArgs e)
{
// Server side validation
if ( EmailRegistered(TxtEmail.txt) )
{
LblEmailStatus.Text = "use other email!";
}
}
<script src="../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function () {
$("#ctl00_ContentPlaceHolder1_txtEmail").blur(function () {
var prmList = '';
prmList += '{"emailAddress":"' + $("#ctl00_ContentPlaceHolder1_txtEmail").val() + '"}';
$.ajax({
type: "POST",
url: window.location.pathname + "/CheckEmailId",
data: prmList,
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d == 'true') {
$("#ctl00_ContentPlaceHolder1_lblUserEmailExist").html('This email is already exists.');
$("#ctl00_ContentPlaceHolder1_lnkbtnSave").hide();
}
else {
$("#ctl00_ContentPlaceHolder1_lblUserEmailExist").html('Valid email id');
$("#ctl00_ContentPlaceHolder1_lnkbtnSave").show();
}
// alert(msg.d);
//window.location = "../DataEntry/AddMemberList.aspx";
},
error: function (msg) { }
});
});
});
</script>
code-behind :
[WebMethod]
public static string CheckEmailId(string emailAddress)
{
string isExitst = string.Empty;
if (!string.IsNullOrWhiteSpace(emailAddress))
{
if (FetchEmailID(emailAddress))
isExitst = "true";
else
isExitst = "false";
}
return isExitst;
}
public static bool FetchEmailID(string emailAddress)
{
bool isExist = false;
DowEntities dataContext = new Entities();
TblDataEntry data = new TblDataEntry();
var rec = (from m in dataContext.TblDataEntries where m.Email == emailAddress select m).ToList();
//data = dataContext.TblDataEntries.Where(x => x.Email == emailAddress).ToList();
if (rec.Count() > 0 && rec.First().Email == emailAddress)
{
isExist = true;
}
else
{
isExist = false;
}
return isExist;
}