2015-04-20 2 views
2

Я попытался использовать текстовое поле с текстовым режимом = «Электронная почта», но он только подтвердит текст с помощью @ или нет. Я все еще могу передать свой текст с ABC @ ABC без какого-либо домена второго уровня.Текстовое поле TextMode = "Email" asp.net

Мне еще нужно проверить ввод строки другой проверкой/функцией, чтобы это сделать.

<asp:TextBox ID="Email" MaxLength="50" PlaceHolder="[email protected]" runat="server" textMode="Email" /> = 
<br/> 
<asp:RegularExpressionValidator ID="EmailFormat" runat="server" Text="Please enter a valid Email" ToolTip="Please enter a valid Email" ControlToValidate="Email" ValidationExpression="(\w)[email protected](\w)+.com(.(\w)+)*" ForeColor="Red" /> 
+1

текстовый режим = «Электронная почта» - это функция HTML5, и мы не можем ее настроить. Поэтому вам определенно нужно написать другой код проверки или использовать asp: RegularExpressionValidator (который вы делаете в своем коде). –

+0

Причина, по которой он проверяет этот способ, заключается в том, что 'Someone @ IP_Address' является допустимым адресом электронной почты и с введением IP-адресов Ip не нужно включать' .' вообще, так что это единственная полная проверка электронной почты, которую вы можете использовать , если вы готовы потерять очень необычные IP-адреса электронной почты, тогда вы можете обеспечить более точную проверку на более распространенных, но как подходящий везде стандарт HTML5 не может сделать это – MikeT

ответ

0

Я думаю, вам нужно попробовать проверку электронной почты с использованием регулярного выражения в ASP.Net. У меня ниже кода для вас, который решает вашу проблему.

<asp:TextBox ID="txtEmailAddress" runat="server" CssClass="NormalTextBox inputText"></asp:TextBox> 

<asp:RegularExpressionValidator ID="revEmailAddress" runat="server" SetFocusOnError="true" 
         Display="None" ControlToValidate="txtEmailAddress" resourceKey="revEmailAddress" 
         ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="register"></asp:RegularExpressionValidator> 

<asp:Button ID="lnkBtnRegister" runat="server" ValidationGroup="register" 
         CssClass="login-btn fl" CausesValidation="true" OnClick="lnkBtnRegister_Click" /> 
<asp:ValidationSummary ID="valsumRegister" resourceKey="valsumRegister" runat="server" 
        ShowSummary="false" ShowMessageBox="true" ValidationGroup="register" HeaderText="Please Provide..." /> 
+0

, так что u означает, что textmode = письмо не заполнено? –

+0

Удалите его, потому что вы уже использовали регулярное выражение. – Keval

+0

, потому что, если он может работать хорошо, мне нужно создать настраиваемое регулярное выражение. просто хочу узнать, работает ли это или нет. –

Смежные вопросы